如何永远在后台运行需要蓝牙的应用程序?

Posted

技术标签:

【中文标题】如何永远在后台运行需要蓝牙的应用程序?【英文标题】:How to run app that needs bluetooth in background for forever? 【发布时间】:2017-03-06 09:57:26 【问题描述】:

我有一个应用程序,它使用蓝牙与一个蓝牙设备连接,它可以提供温度读数。当温度达到一定水平时,警报会响起。它在前台工作得很好。 问题是我无法在设备处于后台时从设备获取数据。由于应用程序的本质是它必须与蓝牙设备连接并始终获取数据。我怎样才能永远在后台运行这种应用程序?

【问题讨论】:

***.com/questions/3762200/… 【参考方案1】:

您是否请求了bluetooth-central 后台模式?

查看Core Bluetooth Programming Guide了解更多信息:

如果您的应用需要在后台运行以执行某些与蓝牙相关的任务,则必须在其信息属性列表(Info.plist)文件中声明它支持核心蓝牙后台执行模式。当您的应用声明这一点时,系统会将其从挂起状态唤醒,以允许其处理与蓝牙相关的事件。这种支持对于与定期传输数据的低功耗蓝牙设备(例如心率监测器)进行交互的应用非常重要。

【讨论】:

在哪些情况下应用会再次重新启动。如果应用程序被用户杀死怎么办。它会在后台重新启动吗? 我很确定如果它被用户杀死,它不会再次重新启动。

以上是关于如何永远在后台运行需要蓝牙的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios 中永远运行后台服务以同步数据

如何在后台永远运行nodemon +

后台任务永远运行?

如何使 Java 桌面应用程序永远不会让系统休眠并在后台运行?

永远在后台运行 iOS 应用程序

如何创建在应用程序关闭时也能正常工作的 Flutter 后台服务