首页 > 解决方案 > 实施一项服务以永久保持活动状态以检测 Android 上的 BLE 控制器?

问题描述

我有一个基于 BLE 控制器和云服务的访问系统。我们将实施“免提”模式来访问禁区。它的意思是:

我的想法:

计划“A”正在使用

  1. 前台服务(在主动模式下工作)
  2. FCM 高优先级消息传递(在打盹模式中唤醒)

计划“B”正在使用 Android 的白名单应用程序来防止在打盹模式下进行电池优化。

标签: androidbluetooth-lowenergyforeground-serviceandroid-doze

解决方案


如果您只想执行后台 BLE 扫描,则不需要应用程序保持活动状态。只需使用 PendingIntent BLE 扫描功能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)。然后,当与您的过滤器匹配的广告包到达时,您的应用程序将启动。


推荐阅读