android - 在后台使用 BLE 设备的最佳方法是什么?
问题描述
目前我正在开发一个具有 BLE 外围设备的应用程序,我的应用程序作为主设备工作,BLE 设备作为外围设备工作。
该应用程序具有以下提到的用例:
- 即使应用程序不在前台,应用程序也应连接并与 BLE 设备通信。(应用程序可以在后台或关闭)
- 一旦应用程序连接到 BLE 设备,我们需要在应用程序中获取数据并对其进行处理。
- 所以需要实现的基本用例是,一旦 BLE 设备在我们设备的范围内,它应该连接并与我们的应用程序通信,而一旦它超出我们设备的范围,它应该停止通信过程。
即使我们的应用程序处于后台或关闭状态,所有这些都应该可以正常工作。
根据链接https://developer.android.com/about/versions/oreo/background中提到的 oreo 的背景限制 ,我们不能使用服务来实现这种情况。
目前我们正在使用前台服务来实现所需的用例,但不确定这是否是最好的方法。
请让我知道可用于使用最新的 android api 实现上述用例的最佳方法。
注意:我们的应用具有最低 sdk 版本 23 和目标 sdk 版本 28
解决方案
推荐阅读
- python - 尝试向 systeminfo.xml 发送 GET 请求时出现“401 未授权”
- python - 在文件中的字符串后面获取一个数字
- amazon-web-services - AWS Cognito - get user's sub in Lambda Trigger function
- java - 由InvokedynamicClassLoader引起的war文件中的NoClassDefFoundError运行方法?
- dashboard - 自定义搜索 API 仪表板
- python - 检查与 pd.idxmin() 对应的值并使用某些条件进行过滤
- html - Angular 6 视图框?(类似于 WPF/Silverlight)
- laravel - 在 Laravel 中验证电话号码
- javascript - 始终将所选数据保留在新数组中(React Native)
- postgresql - Postgresql autovacuum 以防止环绕卡在损坏的表上