我开发来自三个活动和一个服务构成的竹叶提取Android应用: - 第二个连接到设备 - - 第三个写的屏幕 上通信结果 - 扫描设备 第一个内的服务有一些功能连接到设备,检查连接,自动重新连接等等,这项服务是一个启动服务和绑定到每个活动(第一个应用程序启动此服务)服务和三项活动,启动服务是否正确?
在一些教程,我看过在这种情况下,使用的是未启动的服务,但是是绑定服务。但是我不知道自己,当我们在两项活动之间切换时,如果服务不是“开始”的服务,是否存在系统关闭服务的风险,因为在活动之间切换服务没有任何约束?
你很清楚谢谢!为所有应用程序的活动提供可能性以与相同的可调设备进行对话的最佳方式?我必须以某种方式记住对设备的引用。但在这一点上,我不明白在Android开发人员的例子中,你链接他们使用的服务..为什么他们不在活动中进行scansion? – aeroxr1
该示例使用该服务来显示如何使用服务执行BLE扫描。它还显示BluetoothDevice是一个Parcelable。 –
您可以将您的BluetoothDevice保存到传递给Activity.onSaveInstanceState的包中。将BluetoothDevice保存到磁盘是个不错的主意。一旦应用程序关闭,您应该认为任何BluetoothDevice无效。相反,扫描一个新的。您可以使用BluetoothLeScanner.startScan(列表,ScanSettings,ScanCallback)过滤扫描。但是UUID可以被持久化(字符串)。 –