使用Altbeacon 2.15,将BLE作为前台服务运行,我可以启用和禁用该服务,除非禁用该服务,否则没有任何问题,我仍然看到至少在Android P上仍然出现前台通知图标(我不记得看到了在Android O上,但我不能肯定地说)。相同的代码可以在Android 7.1.1上完美运行。
这是我用于禁用BLE服务的代码
beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.disableForegroundServiceScanning();
Log.d(logTag, "Cancelling foreground notification");
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(beaconManager.getForegroundServiceNotificationId());
请让我知道正确的方法!
答案 0 :(得分:0)
根据您开始扫描的方式,尝试致电0.0169444444444 Hours
或beaconManager.unbind(consumer)
。实际上,这将关闭扫描服务。
答案 1 :(得分:0)
我遇到了同样的问题。
确保您正确取消了针对Android O的通知。
if (Build.VERSION.SDK_INT > 26) {
notificationManager.deleteNotificationChannel(NOTIFICATION_CHANNEL_ID)
}