2016-09-28 80 views
1

我已经做了一个蓝牙低能耗扫描仪android应用程序,我希望它始终在后台扫描。 我现在的情况是,当用户打开应用程序时,它将开始扫描,但是一旦我清除手机的任务管理器,应用程序将停止扫描。确保BLE扫描仪Android应用程序总是在后台运行

我希望应用程序始终扫描所有的时间,即使用户清除任务管理器。

谢谢。

回答

1

BLE扫描根本不使用太多功率。不仅仅是启用了Wi-Fi。如https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html#setScanMode(int)中所述,您可以选择SCAN_MODE_LOW_POWER,SCAN_MODE_BALANCED或SCAN_MODE_LOW_LATENCY。但请注意,由于占用无线电,因此最高占空比扫描(SCAN_MODE_LOW_LATENCY)可能对Wi-Fi吞吐量产生不利影响。

要确保即使活动已关闭,应用程序仍处于活动状态,您可以在您的过程中运行前台服务(https://developer.android.com/guide/components/services.html#Foreground)。请注意,有些中国手机(小米,Oppo等)用户还需要进入系统设置并为您的应用启用后台执行。

+0

非常感谢!我的问题是我正在使用小米手机。更改方式是设置>权限>自动启动>选择您想要“自动启动”的应用程序。 – jwen

0

为什么你需要扫描所有的时间?它会浪费如此强大的力量。 Android任务管理器可能会中止应用程序和应用程序的服务。 我认为这是无法实现的。