У меня есть класс-оболочка (BluetoothDiscoverer), который создается в Сервисе. Этот класс получает BluetoothAdapter и проверяет, включен ли Bluetooth, прежде чем сканировать соседние устройства.
Теперь, если Bluetooth не включен, я хочу иметь возможность делать следующее в этом классе (BluetoothDiscoverer):
Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
Теперь я прочитал это: использовать startActivityForResult от неактивности
но я не хочу передавать свою Основную активность в этот объект, так как я хочу иметь дело с результатом (независимо от того, принимает ли пользователь включение Bluetooth или нет)
внутри класса BluetoothDiscoverer.
Теперь, если я сделаю BluetoothDiscoverer подклассом Activity
Кажется, я получаю исключение NullPointerException, когда должен вызываться startActivityForResult.
Я думаю, это потому, что мне нужно добавить метод onCreate () / onDestroy (),
но это противоречит цели того, что я делаю, так как мне нужно иметь возможность вызывать методы объекта BluetoothDiscoverer в службе, которая создает экземпляр этого класса.
Мне также нужно зарегистрировать широковещательный приемник для извлечения соседних устройств при запуске сканирования. Если класс BluetoothDiscoverer не является Activity, как мне зарегистрировать этот получатель?
Есть ли обходной путь для этого?
Спасибо
Andreas