BLE 应用程序应始终 运行 在后台

BLE application should always run in background

我有一个连接到 BLE 紧急按钮并对按钮发送的警报做出反应的应用程序。 (例如发出 HTTP 请求)应用程序通过单击按钮开始扫描并在列表视图中显示结果。单击列表视图的项目后,应用程序连接到选定的设备(按钮)。

问题是我不知道如何 运行 应用程序的其余部分在后台运行。

我发现了这个 article 并得出结论 foregroundservice 是有意义的。通知可以显示设备是否已连接。

我的问题是我的结论是否有意义,或者我是否应该使用其他东西,如果是的话是什么。

如果您希望您的应用程序在后台保留 运行ning 一段代码到 运行 即使应用程序关闭使用服务是最好的选择,但在某些设备中服务会自动终止如果应用程序被用户关闭。如果您只想在应用程序 运行ning 时 运行 代码,您可以轻松地在后台 class 和 运行 中创建您想要的代码

Android的BLE总是有一些奇怪的问题,现在还没有解决。我提醒您,当您将 BLE 作品用于 Android.

服务时,BLE API 并不总是适用于所有品牌的手机

这个link会告诉你,你最好在UI线程上使用BLE API,这对更多品牌的手机来说效果更好。