【发布时间】:2017-07-14 05:38:25
【问题描述】:
我正在使用 altbeacon 的 Android Beacon 库进行后台邻近扫描,以便在应用处于后台时,当用户进入我的 1 个信标范围时向用户显示通知。我通过将其添加到我的应用程序文件的 onCreate 方法中使其工作:
region = new Region("com.myapplication.identifier",
Identifier.parse(Constants.beaconUUID), null, null);
regionBootstrap = new RegionBootstrap(this, region);
beaconManager.setBackgroundScanPeriod(1000l);
beaconManager.setBackgroundBetweenScanPeriod(30000l);
我在didEnterRegion 方法中有代码来确定该信标的范围并显示该位置的通知。我发现 30 秒是通过信标范围时仍能收到通知的最低可接受频率。自从我添加此代码以来,我注意到即使我不在任何信标附近,它也会导致 android 7.0 报告“每小时电池使用量在 1% 到 2% 之间”的电池问题。我已经在不同的扫描频率上进行了很多迭代,并将问题隔离为完全独立于didEnterRegion 中的实际内容,此时我正在拉扯我的头发。任何人都知道减少电池消耗并仍然触发didEnterRegion 的方法吗?
【问题讨论】: