Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android BluetoothLeScanner startScan PendingIntent在系统范围内失败28次_Android_Bluetooth Lowenergy - Fatal编程技术网

Android BluetoothLeScanner startScan PendingIntent在系统范围内失败28次

Android BluetoothLeScanner startScan PendingIntent在系统范围内失败28次,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我有一个Android应用程序用例,在这个用例中,我需要不断扫描可扩展设备。 仅仅这个要求就可能让我成为受虐狂,我想这会让安卓成为我的虐待狂 我知道[我相信]仍然没有正式记录在30秒内不超过5次扫描,不超过10分钟的扫描,没有扫描过滤器的扫描结果,背景问题,以及其他一些问题 为了缓解这些问题,我使用了与AltBeacon、Nordic Scanner Compat、SweetBlue和其他一些类似的技巧 我认为这些都不是这篇文章的问题 输入我当前的问题 一般来说,我的应用程序使用PendingE

我有一个Android应用程序用例,在这个用例中,我需要不断扫描可扩展设备。 仅仅这个要求就可能让我成为受虐狂,我想这会让安卓成为我的虐待狂

我知道[我相信]仍然没有正式记录在30秒内不超过5次扫描,不超过10分钟的扫描,没有扫描过滤器的扫描结果,背景问题,以及其他一些问题

为了缓解这些问题,我使用了与AltBeacon、Nordic Scanner Compat、SweetBlue和其他一些类似的技巧

我认为这些都不是这篇文章的问题

输入我当前的问题

一般来说,我的应用程序使用PendingEvent开始扫描3.1秒,然后停止逻辑暂停3.1秒,然后在用户明确退出应用程序后重复逻辑恢复和硬停止

下面是8.1.0 Nexus 6P重新启动并打开蓝牙,启动我的应用程序并开始扫描的日志。 我不知道为什么操作系统在开始扫描时调用gatt_api,为什么它在停止扫描时抱怨找不到上下文;也许这些是线索

2019-07-18 17:51:53.462 13662-13662/? D/AdapterServiceConfig: Adding GattService
2019-07-18 17:51:53.496 13662-13676/? D/BluetoothAdapterService: setProfileServiceState() - Starting service com.android.bluetooth.gatt.GattService
2019-07-18 17:51:53.497 13662-13662/? I/BtGatt.JNI: classInitNative(L871): classInitNative: Success!
2019-07-18 17:51:53.498 13662-13662/? D/BtGatt.DebugUtils: handleDebugAction() action=null
2019-07-18 17:51:53.499 13662-13662/? D/BtGatt.GattService: Received start request. Starting profile...
2019-07-18 17:51:53.499 13662-13662/? I/bt_btif: get_profile_interface: id = gatt
2019-07-18 17:51:53.504 13662-13662/? D/BluetoothAdapterService: processProfileServiceStateChanged() - serviceName=com.android.bluetooth.gatt.GattService isTurningOn=false isTurningOff=false isBleTurningOn=true isBleTurningOff=false
2019-07-18 17:51:53.504 13662-13662/? D/BluetoothAdapterService: GattService is started
2019-07-18 17:51:54.251 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:51:54.251 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=3
2019-07-18 17:51:54.274 4384-4435/? D/BluetoothManagerService: Binding Bluetooth GATT service
2019-07-18 17:51:54.277 4384-4384/? D/BluetoothManagerService: BluetoothServiceConnection: com.android.bluetooth.gatt.GattService
2019-07-18 17:51:54.278 4384-4435/? D/BluetoothManagerService: BluetoothGatt Service is Up
2019-07-18 17:51:54.376 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:51:54.376 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=4
2019-07-18 17:51:54.653 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:51:54.653 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=5
2019-07-18 17:51:54.685 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:51:54.685 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=6

2019-07-18 17:52:00.800 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:52:00.818 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:52:00.818 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=6
2019-07-18 17:52:00.818 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:52:00.836 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:52:00.837 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=1, elapsedMillisSinceBleScannerInternalStartScanFirstTime=0

2019-07-18 17:52:03.942 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:52:03.959 13662-13674/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@2f1237f
2019-07-18 17:52:03.960 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:52:03.966 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(36)={"31:2C:26:FA:91:5E"=null, "0E:06:E5:5D:1F:9D"=null, "0E:05:A0:00:28:E3"=null, "16:05:05:B8:E9:51"=null, "0E:0A:B0:00:13:2E"=null, "0E:0E:A0:05:C9:B4"=null, "74:F0:1C:42:2A:6C"=null, "0E:0C:00:00:0A:14"=null, "0E:0A:00:00:23:38"=null, "0E:05:A0:00:13:AC"=null, "0E:0E:A0:03:CC:16"=null, "0E:0E:A0:02:22:78"=null, "30:8C:FB:D4:BD:B1"=null, "30:8C:FB:7A:55:21"=null, "CD:A3:87:DA:15:D6"=null, "0E:0E:A0:03:C6:D6"=null, "0E:05:A0:00:32:6E"=null, "0E:0E:A0:05:46:FD"=null, "0E:0E:A0:01:0C:DF"=null, "0E:0E:A0:01:14:36"=null, "0E:0E:A0:01:14:56"=null, "0E:0E:A0:03:F7:1A"=null, "0E:0E:43:21:FE:0E"=null, "0E:0E:A0:0E:E2:72"=null, "0E:0E:A0:04:07:1F"=null, "F5:2A:1E:90:43:D7"=null, "0B:F8:B4:90:A2:3A"=null, "0E:0E:A0:00:1E:DF"=null, "0E:05:A0:00:61:B1"=null, "0E:0E:A0:03:DC:D3"=null, "0E:05:A0:00:84:12"=null, "0E:05:A0:00:84:13"=null, "0E:06:E5:59:D8:B3"=null, "0E:0A:A0:01:3D:13"=null, "2F:41:6D:A2:92:C6"=null, "0E:0A:A0:01:3A:69"=null}
2019-07-18 17:52:04.595 13662-13682/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException

2019-07-18 17:52:07.076 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:52:07.111 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:52:07.112 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=7
2019-07-18 17:52:07.112 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:52:07.127 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:52:07.127 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=2, elapsedMillisSinceBleScannerInternalStartScanFirstTime=6291

2019-07-18 17:52:10.231 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:52:10.238 13662-13674/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@1377141
2019-07-18 17:52:10.239 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:52:10.242 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(37)={"31:2C:26:FA:91:5E"=null, "0E:0E:A0:00:18:EC"=null, "0E:06:E5:5D:1F:9D"=null, "0E:05:A0:00:28:E3"=null, "16:05:05:B8:E9:51"=null, "0E:0A:B0:00:13:2E"=null, "0E:0E:A0:05:C9:B4"=null, "74:F0:1C:42:2A:6C"=null, "0E:0A:00:00:23:38"=null, "0E:0C:00:00:0A:14"=null, "0E:05:A0:00:13:AC"=null, "0E:0E:A0:02:22:78"=null, "30:8C:FB:D4:BD:B1"=null, "30:8C:FB:7A:55:21"=null, "CD:A3:87:DA:15:D6"=null, "0E:0E:A0:03:C6:D6"=null, "0E:0E:A0:05:46:FD"=null, "0E:0E:A0:03:3B:16"=null, "0E:0E:A0:01:14:36"=null, "CD:31:C7:3B:84:0F"=null, "0E:0E:A0:02:0B:C1"=null, "DA:A3:9B:E8:3B:E8"=null, "0E:0E:A0:02:24:97"=null, "0E:0E:A0:03:F7:1A"=null, "0E:0E:43:21:FE:0E"=null, "0E:0E:A0:0E:E2:72"=null, "0B:F8:B4:90:A2:3A"=null, "F5:2A:1E:90:43:D7"=null, "0E:0E:A0:00:1E:DF"=null, "0E:05:A0:00:61:B1"=null, "0E:0E:A0:03:DC:D3"=null, "0E:05:A0:00:84:12"=null, "0E:05:A0:00:84:13"=null, "0E:0A:A0:01:3D:13"=null, "0E:06:E5:59:D8:B3"=null, "2F:41:6D:A2:92:C6"=null, "0E:0A:A0:01:3A:69"=null}
2019-07-18 17:52:10.483 13662-13682/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException
。。。 日志按预期重复…除非可能是分配gatt_的信号,如果=8,那么9,10,…,31。。。

。。。 始终在我第28次调用startScan时,除非另一个应用程序已扫描,大约170秒后,操作系统开始报告gatt_api错误无法注册gatt客户端,最大客户端达到:32,此时:

我得到一个0返回值,并且没有扫描失败的onScanFailed回调 我没有收到显示任何可扫描设备的onScanResult回调


这里似乎存在某种分配的gatt_if leak,但我只是调用startScan…,mpendingent和stopScan…,mpendingent具有相同的final/immutable pendingent成员,因此我非常怀疑代码中的任何内容是否直接导致了泄漏

在这一点上,没有应用程序可以扫描可扩展设备。不是我的应用程序或SweetBlue工具箱、BLE扫描仪或我尝试过的任何其他第三方BLE扫描应用程序

这到底是为什么

当手机进入这种状态时,我可以关闭手机的蓝牙功能,然后再重新打开,以恢复工作状态

AltBeacon有一个BluetoothMedic类,可以检测这种状态并通过编程关闭和再次打开bluetooth,但我将其添加为一个依赖项,并在onScanFailed回调中设置断点,它从未被调用,这违背了该类的全部目的,我很难相信这是他们所知道的问题/

我希望一开始就不发生这种泄漏,并且能够无限期地每隔3.1秒停止和启动扫描,并可靠地扫描范围内的本地设备

除此之外,如果必须的话,我将不得不以编程方式关闭蓝牙,然后再打开。是的,每170秒一次……欢迎来到我的机器人世界的地狱,但是如果没有有效的startScan返回值或OnScan失败的回调,则无法确定扫描零设备是否意味着手机已进入此不良状态,或者周围确实没有设备

我相信这段代码已经运行了一年多,直到最近,几个月前的max才开始这样做

有希望吗


安卓真的很难理解^∞ 糟透了/

停止/启动扫描肯定有问题。我认为,具有完全相同回调/挂起意图的startScan不应启动另一次扫描

你能在这里发布一些代码吗?您的代码似乎没有正确停止扫描。 也许由于某种原因,你的悬挂式帐篷从一开始到另一开始有所不同


在其他手机上可以复制吗

停止/启动扫描肯定有问题。我认为,具有完全相同回调/挂起意图的startScan不应启动另一次扫描

你能在这里发布一些代码吗?您的代码似乎没有正确停止扫描。 也许由于某种原因,你的悬挂式帐篷从一开始到另一开始有所不同

在其他手机上可以复制吗

更新被认为是正确的 我的最终结论是Nordic的Android Scanner Compat库确实创建了一个可停止的PendingEvent,但问题是它在调用PendingEvent.getBroadcastcontext,id,intent,PendingEvent.FLAG_CANCEL_CURRENT时调用了PendingEvent.getBroadcastcontext,id,intent,PendingEvent.FLAG_UPDATE_CURRENT

我会打开我的叉子,修复我的叉子

原始接近,但不完全正确 我相信我找到了答案

今天,我编写了一个独立的应用程序,作为重新处理这个问题的简单测试用例。

想想看,它没有重新编程

测试应用程序和我的生产应用程序的一个重大区别是:

在测试应用程序中,我直接调用android.bluetooth.le.BluetoothLeScanner.startScan。。。 在我的作品中 应用程序I使用NordicseMeiconductor的Android扫描仪兼容库 我的测试应用程序没有重新出现问题,但当我调整它以使用Nordic的Android扫描仪Compat时,我的问题开始重新出现。 我解开了我的零钱;没有责备。 我重拨了我的更改;复制。 冒烟的枪

查看他们的代码,我发现:

他们例举了他们自己的悬挂式帐篷,包裹着我的。。。 …但在他们的代码中,他们没有跟踪他们的PendingEvent,这样他们就可以使用相同的PendingEvent成功调用StopScanPendingEvent

这两个挂起的内容不可能匹配,这样操作系统就可以正确地停止扫描

我通过在我的代码分支中添加日志来确认这一点,在每个startScan和stopScan附近搜索PendingEvent=;请注意,它们是不同的实例,在每个分配的gatt_中,如果=:

看来我要么在他们的回购协议上打开一个问题,要么自己解决,然后发给他们一份PR

感谢那些插话的人;你的问题让我朝着正确的方向寻找

更新被认为是正确的 我的最终结论是Nordic的Android Scanner Compat库确实创建了一个可停止的PendingEvent,但问题是它在调用PendingEvent.getBroadcastcontext,id,intent,PendingEvent.FLAG_CANCEL_CURRENT时调用了PendingEvent.getBroadcastcontext,id,intent,PendingEvent.FLAG_UPDATE_CURRENT

我会打开我的叉子,修复我的叉子

原始接近,但不完全正确 我相信我找到了答案

今天,我编写了一个独立的应用程序,作为重新处理这个问题的简单测试用例。

想想看,它没有重新编程

测试应用程序和我的生产应用程序的一个重大区别是:

在测试应用程序中,我直接调用android.bluetooth.le.BluetoothLeScanner.startScan。。。 在我的生产应用程序中,我使用NordicSemiconductor的Android扫描仪Compat库 我的测试应用程序没有重新出现问题,但当我调整它以使用Nordic的Android扫描仪Compat时,我的问题开始重新出现。 我解开了我的零钱;没有责备。 我重拨了我的更改;复制。 冒烟的枪

查看他们的代码,我发现:

他们例举了他们自己的悬挂式帐篷,包裹着我的。。。 …但在他们的代码中,他们没有跟踪他们的PendingEvent,这样他们就可以使用相同的PendingEvent成功调用StopScanPendingEvent

这两个挂起的内容不可能匹配,这样操作系统就可以正确地停止扫描

我通过在我的代码分支中添加日志来确认这一点,在每个startScan和stopScan附近搜索PendingEvent=;请注意,它们是不同的实例,在每个分配的gatt_中,如果=:

看来我要么在他们的回购协议上打开一个问题,要么自己解决,然后发给他们一份PR


感谢那些插话的人;你的问题让我朝着正确的方向寻找

使用1.4.1无法解决问题!listent PendingEvent不再广播,这是真的,但蓝牙内部扫描仍然没有停止,这是证据:BtGatt.ScanManager:在时间唤醒。 测试设备:Pixel2和Android 10

发现的问题: BluetoothLeScannerImplOreo->CreateStartingPendingEvent。。。并创建停止挂起的内容。。。 在这两种方法中,这一行代码都会破坏正常流程: final int id=callbackIntent.hashCode

这样,启动的PendingEvent哈希代码将不同于停止PendingEvent哈希代码!!这太糟糕了!这是一个bug,因为文档澄清了这两个意图必须是相同的,而在这个库案例中是完全不同的

解决方案: 将requestCode作为额外参数添加到CreateStartingPendingEvent…、@NonNull final int requestCode和CreateStoppingPendingEvent…、@NonNull final int requestCode方法中,并将其用于id。 最终int id=请求代码//callbackIntent.hashCode; 是的,启动和停止的请求代码必须相同


使用1.4.1,问题没有得到解决!listent PendingEvent不再广播,这是真的,但蓝牙内部扫描仍然没有停止,这是证据:BtGatt.ScanManager:在时间唤醒。 测试设备:Pixel2和Android 10

发现的问题: BluetoothLeScannerImplOreo->CreateStartingPendingEvent。。。并创建停止挂起的内容。。。 在这两种方法中,这一行代码都会破坏正常流程: final int id=callbackIntent.hashCode

这样,启动的PendingEvent哈希代码将不同于停止PendingEvent哈希代码!!这太糟糕了!这是一个bug,因为文档澄清了这两个意图必须是相同的,而在这个库案例中是完全不同的

解决方案: 将requestCode作为额外参数添加到CreateStartingPendingEvent…、@NonNull final int requestCode和CreateStoppingPendingEvent…、@NonNull final int requestCode方法中,并将其用于id。 最终int i d=请求代码//callbackIntent.hashCode; 是的,启动和停止的请求代码必须相同


根据equals方法,用于开始扫描的PendingEvent必须等于用于停止扫描的PendingEvent。因此,请首先测试equals方法是否返回true。如果是的话,Android可能有一个bug。我只是用同一个final/immutable PendingIntent成员调用startScan…,mpendingent和stopScan…,mpendingent。内容永不改变;等于。根据等于方法,用于开始扫描的PendingEvent必须等于用于停止扫描的PendingEvent。因此,请首先测试equals方法是否返回true。如果是的话,Android可能有一个bug。我只是用同一个final/immutable PendingIntent成员调用startScan…,mpendingent和stopScan…,mpendingent。内容永不改变;它是相等的。我只是调用startScan…,mpendingent和stopScan…,mpendingent具有相同的最终/不可变挂起内容成员。内容永不改变;这是平等的。我无法发布代码,但上面的日志详尽地显示了我对startScan和stopScan的每一个调用。请向代码展示如何创建以下Kotlin代码的PendingEvent.Java版本,我正在编写这些代码,以尝试显示一个简单的复制:此repo的示例代码都位于活动的简单上下文中;事实上,我的制作应用程序是作为前台服务运行的;我试图消除所有这些,以产生一个简单的复制。当我知道更多信息时,我会更新…我不能评论你的答案…请重复评论。。。。但是您可以检查原件,这表示不应使用标志“取消当前”。我可以看到NordicSemiconductor的lib使用了这个标志。值得检查一下这是否是一个问题。我只是调用startScan…,mpendingent和stopScan…,mpendingent使用相同的最终/不可变pendingent成员。内容永不改变;这是平等的。我无法发布代码,但上面的日志详尽地显示了我对startScan和stopScan的每一个调用。请向代码展示如何创建以下Kotlin代码的PendingEvent.Java版本,我正在编写这些代码,以尝试显示一个简单的复制:此repo的示例代码都位于活动的简单上下文中;事实上,我的制作应用程序是作为前台服务运行的;我试图消除所有这些,以产生一个简单的复制。当我知道更多信息时,我会更新…我不能评论你的答案…请重复评论。。。。但是您可以检查原件,这表示不应使用标志“取消当前”。我可以看到NordicSemiconductor的lib使用了这个标志。值得检查一下,这是否是一个问题。
2019-07-18 17:54:43.869 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:54:43.893 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:54:43.893 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1027)] allocated gatt_if=32
2019-07-18 17:54:43.893 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:54:43.912 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:54:43.913 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=27, elapsedMillisSinceBleScannerInternalStartScanFirstTime=163077
2019-07-18 17:54:43.952 13662-13682/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException

2019-07-18 17:54:47.021 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:54:47.033 13662-13703/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@e09708f
2019-07-18 17:54:47.036 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:54:47.037 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(37)={"0E:0E:A0:02:0D:1A"=null, "0E:06:E5:5D:1F:9D"=null, "0E:0E:A0:00:18:EC"=null, "16:05:05:B8:E9:51"=null, "0E:0E:FF:F6:BE:30"=null, "74:F0:1C:42:2A:6C"=null, "0E:0C:00:00:0A:14"=null, "0E:0A:00:00:23:38"=null, "0E:0E:A0:03:CC:16"=null, "0E:0E:A0:01:0B:E6"=null, "0E:0E:A0:02:22:78"=null, "30:8C:FB:D4:BD:B1"=null, "30:8C:FB:7A:55:21"=null, "CD:A3:87:DA:15:D6"=null, "0E:05:A0:00:32:6E"=null, "0E:0E:A0:03:28:7B"=null, "0E:0E:A0:01:0C:DF"=null, "CD:31:C7:3B:84:0F"=null, "DA:A3:9B:E8:3B:E8"=null, "0E:0E:A0:01:14:56"=null, "0E:0E:A0:02:24:97"=null, "0E:0E:A0:02:15:F8"=null, "37:AB:CB:F6:2D:70"=null, "0E:0E:43:21:FE:0E"=null, "24:B9:20:97:DC:87"=null, "0E:0E:A0:04:6B:34"=null, "0E:0E:A0:04:07:1F"=null, "0B:F8:B4:90:A2:3A"=null, "F5:2A:1E:90:43:D7"=null, "0E:05:A0:00:61:B0"=null, "0E:0E:A0:03:21:34"=null, "0E:05:A0:00:61:B1"=null, "0E:05:A0:00:84:13"=null, "0E:06:E5:59:D8:B3"=null, "0E:0A:A0:01:3D:13"=null, "2F:41:6D:A2:92:C6"=null, "0E:0A:A0:01:3A:69"=null}
2019-07-18 17:54:47.547 13662-13662/? D/BtGatt.ScanManager: awakened up at time 187337376
2019-07-18 17:54:47.552 13662-13682/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException

2019-07-18 17:54:50.143 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:54:50.173 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:54:50.173 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:54:50.173 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:54:50.173 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:54:50.174 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:54:50.174 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:54:50.174 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:54:50.187 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:54:50.188 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=28, elapsedMillisSinceBleScannerInternalStartScanFirstTime=169351
2019-07-18 17:54:53.291 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:54:53.303 13662-13715/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@7eaaf1c
2019-07-18 17:54:53.304 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:54:53.304 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(0)={}
2019-07-18 17:54:56.410 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:54:56.439 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:54:56.439 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:54:56.439 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:54:56.439 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:54:56.439 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:54:56.439 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:54:56.440 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:54:56.458 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:54:56.458 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=29, elapsedMillisSinceBleScannerInternalStartScanFirstTime=175622
2019-07-18 17:54:59.562 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:54:59.576 13662-13673/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@bef4725
2019-07-18 17:54:59.576 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:54:59.577 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(0)={}
2019-07-18 17:55:02.679 13349-13349/com.myapp V/MyBleScanner: resume: #GATT +mBleScannerInternal.startScan(...)
2019-07-18 17:55:02.697 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:55:02.697 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:55:02.697 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:55:02.697 13662-13697/? I/bt_stack: [INFO:gatt_api.cc(1004)] GATT_Register
2019-07-18 17:55:02.697 13662-13697/? E/bt_stack: [ERROR:gatt_api.cc(1032)] can't Register GATT client, MAX client reached: 32
2019-07-18 17:55:02.697 13662-13697/? E/bt_btif: Register with GATT stack failed.
2019-07-18 17:55:02.697 13349-13349/com.myapp V/MyBleScanner: resume: #GATT mBleScannerInternal.startScan(...); result=SUCCESS(0)
2019-07-18 17:55:02.707 13349-13349/com.myapp V/MyBleScanner: resume: #GATT -mBleScannerInternal.startScan(...)
2019-07-18 17:55:02.707 13349-13349/com.myapp E/MyBleScanner: resume: #GATT mBleScannerInternalStartScanCount=30, elapsedMillisSinceBleScannerInternalStartScanFirstTime=181871
2019-07-18 17:55:05.810 13349-13349/com.myapp V/MyBleScanner: pause: #GATT +mBleScannerInternal.stopScan(...)
2019-07-18 17:55:05.822 13662-13703/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@82cc0fa
2019-07-18 17:55:05.822 13349-13349/com.myapp V/MyBleScanner: pause: #GATT -mBleScannerInternal.stopScan(...)
2019-07-18 17:55:05.823 13349-13349/com.myapp I/MyBleScanner: pause: #GATT mScannedDevices(0)={}
final PendingIntent pendingIntent = createStartingPendingIntent(nonNullFilters,
                nonNullSettings, context, callbackIntent);
scanner.startScan(nativeFilters, nativeSettings, pendingIntent);
final PendingIntent pendingIntent = createStoppingPendingIntent(context, callbackIntent);
scanner.stopScan(pendingIntent);
2019-07-19 21:14:51.230 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.startScan(...)
2019-07-19 21:14:58.424 16905-16905/com.testapp V/BleScannerImplOreo: #GATT startScanInternal: pendingIntent=PendingIntent{1dfc67: android.os.BinderProxy@e560a14}
2019-07-19 21:14:58.468 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(948)] GATT_Register 3c2e1fd9-d3fd-6897-a113-863aa50df781
2019-07-19 21:14:58.468 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=7
2019-07-19 21:14:58.478 16905-16905/com.testapp V/BleScannerManager: scan: #GATT bleScanner.startScan(...); result=SUCCESS(0)
2019-07-19 21:14:58.479 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.startScan(...)
2019-07-19 21:14:58.481 16905-16905/com.testapp E/BleScannerManager: #GATT bleScannerStartScanCount=1, elapsedMillisSinceBleScannerStartScanFirstTime=0
2019-07-19 21:15:03.521 1447-1447/? D/BtGatt.ScanManager: awakened up at time 614650173
2019-07-19 21:15:08.250 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.stopScan(...)
2019-07-19 21:15:08.255 16905-16905/com.testapp V/BleScannerImplOreo: #GATT stopScanInternal: pendingIntent=PendingIntent{dc4115f: android.os.BinderProxy@84087ac}
2019-07-19 21:15:08.259 1447-1982/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@77d2d25
2019-07-19 21:15:08.260 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.stopScan(...)
2019-07-19 21:15:08.556 1447-1447/? D/BtGatt.ScanManager: awakened up at time 614655208
2019-07-19 21:15:08.570 1447-1554/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException
2019-07-19 21:15:20.556 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.startScan(...)
2019-07-19 21:15:20.570 16905-16905/com.testapp V/BleScannerImplOreo: #GATT startScanInternal: pendingIntent=PendingIntent{2ce86d6: android.os.BinderProxy@84087ac}
2019-07-19 21:15:20.575 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(948)] GATT_Register 6b444e39-d61a-1d92-52d6-afd6e901b56b
2019-07-19 21:15:20.575 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=8
2019-07-19 21:15:20.576 16905-16905/com.testapp V/BleScannerManager: scan: #GATT bleScanner.startScan(...); result=SUCCESS(0)
2019-07-19 21:15:20.576 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.startScan(...)
2019-07-19 21:15:20.576 16905-16905/com.testapp E/BleScannerManager: #GATT bleScannerStartScanCount=2, elapsedMillisSinceBleScannerStartScanFirstTime=22097
2019-07-19 21:15:23.264 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.stopScan(...)
2019-07-19 21:15:23.269 16905-16905/com.testapp V/BleScannerImplOreo: #GATT stopScanInternal: pendingIntent=PendingIntent{ebafcb0: android.os.BinderProxy@ebb6729}
2019-07-19 21:15:23.272 1447-1982/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@3abaefa
2019-07-19 21:15:23.272 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.stopScan(...)
2019-07-19 21:15:24.968 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.startScan(...)
2019-07-19 21:15:24.980 16905-16905/com.testapp V/BleScannerImplOreo: #GATT startScanInternal: pendingIntent=PendingIntent{8b1626b: android.os.BinderProxy@ebb6729}
2019-07-19 21:15:24.990 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(948)] GATT_Register 0bbb0b8f-2c63-dfc2-268d-fbfe39360ddf
2019-07-19 21:15:24.990 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=9
2019-07-19 21:15:24.990 16905-16905/com.testapp V/BleScannerManager: scan: #GATT bleScanner.startScan(...); result=SUCCESS(0)
2019-07-19 21:15:24.990 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.startScan(...)
2019-07-19 21:15:24.991 16905-16905/com.testapp E/BleScannerManager: #GATT bleScannerStartScanCount=3, elapsedMillisSinceBleScannerStartScanFirstTime=26511
2019-07-19 21:15:25.019 1447-1554/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException
2019-07-19 21:15:25.795 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(948)] GATT_Register 32a50296-06f2-ed4d-f83c-25da059a4a19
2019-07-19 21:15:25.795 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=10
2019-07-19 21:15:26.046 1447-1447/? D/BtGatt.ScanManager: awakened up at time 614672699
2019-07-19 21:15:27.000 16905-16905/com.testapp V/BleScannerManager: scan: #GATT +bleScanner.stopScan(...)
2019-07-19 21:15:27.005 16905-16905/com.testapp V/BleScannerImplOreo: #GATT stopScanInternal: pendingIntent=PendingIntent{40e339d: android.os.BinderProxy@6340012}
2019-07-19 21:15:27.008 1447-1982/? E/BtGatt.ContextMap: Context not found for info com.android.bluetooth.gatt.GattService$PendingIntentInfo@96b43b4
2019-07-19 21:15:27.009 16905-16905/com.testapp V/BleScannerManager: scan: #GATT -bleScanner.stopScan(...)
2019-07-19 21:15:28.679 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(948)] GATT_Register f119757a-00ff-29b4-72e0-952c5e0db695
2019-07-19 21:15:28.679 1447-1941/? I/bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=10
2019-07-19 21:15:28.810 1447-1447/? D/BtGatt.ScanManager: awakened up at time 614675462
2019-07-19 21:15:28.822 1447-1554/? E/BtGatt.GattService: Exception: android.app.PendingIntent$CanceledException