ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在Android上检测到iBeacons时出现“蓝牙共享已停止”警报

2019-10-29 19:34:36  阅读:420  来源: 互联网

标签:bluetooth bluetooth-lowenergy ibeacon ibeacon-android android


我正在使用Radius Networks的Android iBeacon Library来与iBeacons一起玩.一段时间后,我不断看到警报突然弹出:“很遗憾,Bluetooth共享已停止.”使用[报告] [确定]按钮.

电话:Nexus 5和Android 4.4.2.

由于Nexus 5目前是最出色的Android手机,而且使用iBeacons一段时间后似乎无法正常工作,这真是令人遗憾.这意味着无法将iBeacons用于生产中,因为Bluetooth LE无法在Android上正常工作(即使在最新版本中也是如此).

只有恢复出厂设置似乎可以解决问题,我不能要求应用程序的用户这样做:/.

Logcat:

I/DEBUG   (  175): Build fingerprint: 'google/hammerhead/hammerhead:4.4.2/KOT49H/937116:user/release-keys'
I/DEBUG   (  175): Revision: '11'
I/DEBUG   (  175): pid: 5062, tid: 5085, name: BTIF  >>> com.android.bluetooth <<<
I/DEBUG   (  175): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG   (  175):     r0 ffffffff  r1 00007d00  r2 00007c60  r3 74ddc308
I/DEBUG   (  175):     r4 74ddc318  r5 00000000  r6 7568ea60  r7 7512d595
I/DEBUG   (  175):     r8 00000002  r9 7568ea54  sl 751638cd  fp 00000004
I/DEBUG   (  175):     ip 00000000  sp 7568ea10  lr 750ad68d  pc 750ad6b0  cpsr 600f0030
I/DEBUG   (  175):     d0  000000000000000f  d1  746f6d65725f6464
I/DEBUG   (  175):     d2  000000cc00000069  d3  754bde5000000066
I/DEBUG   (  175):     d4  0034003a00440045  d5  00390033003a0033
I/DEBUG   (  175):     d6  003a00370038003a  d7  0030003a00380034
I/DEBUG   (  175):     d8  0000000000000000  d9  0000000000000000
I/DEBUG   (  175):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (  175):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  175):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  175):     d16 3fe8000000000000  d17 3fc999999999999a
I/DEBUG   (  175):     d18 0000000000000000  d19 0000000000000000
I/DEBUG   (  175):     d20 0000000000000000  d21 0000004400000044
I/DEBUG   (  175):     d22 0000000000000000  d23 0000000000000000
I/DEBUG   (  175):     d24 0000000000000000  d25 0002a7600002a760
I/DEBUG   (  175):     d26 0707070703030303  d27 0300000004000000
I/DEBUG   (  175):     d28 0800000009000000  d29 0001000000010000
I/DEBUG   (  175):     d30 010b400001088000  d31 01108000010e0000
I/DEBUG   (  175):     scr 60000010
I/DEBUG   (  175): 
I/DEBUG   (  175): backtrace:
I/DEBUG   (  175):     #00  pc 0004e6b0  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):     #01  pc 0004ea89  /system/lib/hw/bluetooth.default.so (btif_config_set+156)
I/DEBUG   (  175):     #02  pc 0004eb91  /system/lib/hw/bluetooth.default.so (btif_config_set_int+20)
I/DEBUG   (  175):     #03  pc 000345cd  /system/lib/hw/bluetooth.default.so (btif_storage_set_remote_addr_type+36)
I/DEBUG   (  175):     #04  pc 0004adbd  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):     #05  pc 0002f091  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):     #06  pc 000553bd  /system/lib/hw/bluetooth.default.so (gki_task_entry+92)
I/DEBUG   (  175):     #07  pc 0000d170  /system/lib/libc.so (__thread_entry+72)
I/DEBUG   (  175):     #08  pc 0000d308  /system/lib/libc.so (pthread_create+240)
I/DEBUG   (  175): 
I/DEBUG   (  175): stack:
I/DEBUG   (  175):          7568e9d0  00000000  
I/DEBUG   (  175):          7568e9d4  4156f52d  /system/lib/libdvm.so
I/DEBUG   (  175):          7568e9d8  00004000  
I/DEBUG   (  175):          7568e9dc  7568ea71  [stack:5085]
I/DEBUG   (  175):          7568e9e0  415d70d0  
I/DEBUG   (  175):          7568e9e4  7fffffee  
I/DEBUG   (  175):          7568e9e8  75587bd0  [anon:libc_malloc]
I/DEBUG   (  175):          7568e9ec  000007c6  
I/DEBUG   (  175):          7568e9f0  74ddc318  [anon:libc_malloc]
I/DEBUG   (  175):          7568e9f4  00007c60  
I/DEBUG   (  175):          7568e9f8  00007c60  
I/DEBUG   (  175):          7568e9fc  74ddc308  [anon:libc_malloc]
I/DEBUG   (  175):          7568ea00  74ddc318  [anon:libc_malloc]
I/DEBUG   (  175):          7568ea04  000007c6  
I/DEBUG   (  175):          7568ea08  7568ea60  [stack:5085]
I/DEBUG   (  175):          7568ea0c  750ad68d  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):     #00  7568ea10  00000041  
I/DEBUG   (  175):          7568ea14  7512f561  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):          7568ea18  7568ea60  [stack:5085]
I/DEBUG   (  175):          7568ea1c  750ada8d  /system/lib/hw/bluetooth.default.so (btif_config_set+160)
I/DEBUG   (  175):     #01  7568ea20  7568ea54  [stack:5085]
I/DEBUG   (  175):          7568ea24  7568ea54  [stack:5085]
I/DEBUG   (  175):          7568ea28  00000001  
I/DEBUG   (  175):          7568ea2c  00000001  
I/DEBUG   (  175):          7568ea30  764b890a  [anon:libc_malloc]
I/DEBUG   (  175):          7568ea34  40146384  
I/DEBUG   (  175):          7568ea38  7516ea94  
I/DEBUG   (  175):          7568ea3c  00000007  
I/DEBUG   (  175):          7568ea40  7512dff5  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):          7568ea44  750adb95  /system/lib/hw/bluetooth.default.so (btif_config_set_int+24)
I/DEBUG   (  175):     #02  7568ea48  00000004  
I/DEBUG   (  175):          7568ea4c  00000002  
I/DEBUG   (  175):          7568ea50  7512f561  /system/lib/hw/bluetooth.default.so
I/DEBUG   (  175):          7568ea54  00000001  
I/DEBUG   (  175):          7568ea58  40146384  
I/DEBUG   (  175):          7568ea5c  750935d1  /system/lib/hw/bluetooth.default.so (btif_storage_set_remote_addr_type+40)

解决方法:

编辑:现在有此here.的部分解决方案

好消息是,这个低级的Android错误会极大地影响开发人员或在蓝牙开发商店工作的人们,这些开发人员或工作人员在同一地点附近有大量的蓝牙设备.参加BLE或iBeacon黑客马拉松几乎可以肯定会触发它.幸运的是,我们应用的大多数最终用户都不会这样做.

当包含最近扫描的Bluetooth LE Mac地址的内部缓冲区填满时,会触发该错误.填满后,扫描新的Bluetooth LE设备将导致Android的Bluetooth服务崩溃并重新启动.您看到的对话框来自Android的Bluetooth共享服务,该对话框死后无法完全处理Bluetooth服务的重启并自行崩溃.这是Android bug report.

该错误可能会影响执行Bluetooth LE扫描或查找iBeacon的任何应用程序或库,而不仅仅是Android iBeacon库.但是,并非所有用户都会体验到它.我在Radius Networks工作,在那里我们一直在传输数十个Bluetooth LE设备,并且花了四个月才在Nexus 4上看到该对话框-仅在两周前出现.从那时起,我一直致力于确定问题的特征并找到解决方法.

通过进入飞行模式几秒钟然后出来,我已经能够清除情况.但是,这不是永久解决方法,因为再次溢出Android的缓冲区将导致其返回.我们仍在研究更多的自动化解决方案.

标签:bluetooth,bluetooth-lowenergy,ibeacon,ibeacon-android,android
来源: https://codeday.me/bug/20191029/1962420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有