我有一个包装类(BluetoothDiscoverer),它在服务中实例化。该类获取一个BluetoothAdapter,并在扫描附近设备之前检查蓝牙是否启用。
现在,如果蓝牙未启用,我希望能够在此类(BluetoothDiscoverer)中执行以下操作:
Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
现在我已经阅读了这篇文章:使用非活动的startActivityForResult,但是我不想将我的主要活动传递到这个对象中,因为我想在BluetoothDiscoverer类中处理结果(无论用户是否接受启用蓝牙)。
如果我将BluetoothDiscoverer作为Activity的子类,似乎在调用startActivityForResult时会出现NullPointerException。
我认为这是因为我需要添加一个onCreate()/onDestroy()方法,但这违背了我所做的事情的目的,因为我需要能够在实例化此类的服务中调用BluetoothDiscoverer对象上的方法。
我还需要注册广播接收器以在启动扫描时检索相邻设备。 如果BluetoothDiscoverer类不是Activity,则如何注册此接收器?
有没有解决方法?
谢谢 Andreas