Задать вопрос
RomanoO
@RomanoO

Как связаны BluetoothDevice и состояние BT-адаптора (вкл. / выкл.)?

Добрый день, Хабр!

Столкнулся с такой проблемой:
есть такой вот кусок кода:
private HashSet discoveredDevices;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//....
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (savedInstanceState == null) {
discoveredDevices = new HashSet();
} else {
discoveredDevices = (HashSet) savedInstanceState
.getSerializable("devices");
for (BluetoothDevice device : discoveredDevices) {
adapter.add(device.getName() + "\n" + device.getAddress());
}
}
//....
}

И код сохранения состояния:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("devices", discoveredDevices);
}

Если отключить БТ и повернуть экран (т.е. попасть в обработчик onActivityCreated), то на этом месте:
discoveredDevices = (HashSet) savedInstanceState.getSerializable("devices");

программа вылетает.
Может кто-нибудь объяснить, почему так происходит?
  • Вопрос задан
  • 2402 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
debugger88
@debugger88
Ну а где логи?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект