连接到ble设备时是否可以启动服务/活动?

时间:2020-12-29 08:39:45

标签: android bluetooth bluetooth-lowenergy bluetooth-gatt

我正在使用 BLE 开发一个 android 应用程序。

安卓蓝牙扫描可以搜索到我的蓝牙设备。

我的应用程序可以通过connectGatt()

与蓝牙设备连接

当我的应用程序运行时(即使只有前台服务在运行),连接会继续。 (我使用autoConnect=true

但即使我的应用程序没有运行,我希望 Android 操作系统在找到我的蓝牙设备并启动我的应用程序的前台服务或活动时会尝试连接。

这可能吗?

在Android操作系统找到的蓝牙设备列表窗口中,我可以找到我的蓝牙设备。但是如果我触摸它,他们现在会说“需要一个应用程序才能使用此设备”。

请告诉我如何让 Android 操作系统尝试连接我的蓝牙设备,即使我的应用程序正在运行。

1 个答案:

答案 0 :(得分:1)

否,由于 BLE 连接已建立,Android 不会启动应用程序(新进程)。 connectGatt 尝试仅在应用进程运行时有效。

但是,您可以在没有运行应用程序的情况下扫描设备,请参阅https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.app.PendingIntent)