我在Android应用中有两项活动; FirstActivity和SecondActivity。 FirstActivity根据需要初始化蓝牙低功耗连接以与设备通信。我也希望使用SecondActivity的相同连接,而不是重新初始化连接。
阅读Stack Overflow,我听说我可以将BluetoothDevice变量(包含对连接设备的引用)传递给SecondActivity,方法是将其存储到扩展Application的类中,然后从SecondActivity中调用它。我已经能够通过读取传入变量的设备名称来验证它。我需要能够根据SecondActivity中设备的通知更改值。
在FirstActivity中,我通过使用BluetoothGattCallback执行此操作,该蓝牙通过状态机样式代码系统地初始化每个设备传感器,从本教程中video,code。初始化完成后,只要先前指定的特性发生变化,它就会在回调中调用onCharacteristicChanged(BluetoothGatt,BluetoothGattCharacteristic)方法。
为了从SecondActivity中的设备访问通知程序,我是否需要设置另一个BluetoothGattCallback以便我可以使用onCharacteristicChanged,或者是否有办法与FirstActivity的回调接口(当SecondActivity时仍然在后台是焦点)? 我也尝试过将BluetoothGatt和BluetoothGattCallback变量与BluetoothDevice一起传递,但由于我对Android(以及更多的蓝牙)相当新,我承认这是一个试错过程。我还在考虑如何首次调用Callback,所以如果我错过了一些简单的事情,我会提前道歉。所有建议都表示赞赏!