Android 一些手机报道;“扫描失败”;当两个或多个iBeacon发射机出现错误时,如何才能识别出这些手机?

Android 一些手机报道;“扫描失败”;当两个或多个iBeacon发射机出现错误时,如何才能识别出这些手机?,android,ibeacon-android,altbeacon,Android,Ibeacon Android,Altbeacon,当我使用华为7i手机通过“DidRangeBeaConsincinRegion”回调功能对两个信标发射机进行测距时,代码报告: E/CycledLeScannerForLollipop(11734): Scan Failed error. 当我使用Nexus5时,它可以返回两个信标信息包 有什么方法可以解决这个错误吗? 如果不是的话,我怎么能用密码识别出这种手机呢? 是否有类似以下代码: BeaconTransmitter.checkTransmissionSupported(context

当我使用华为7i手机通过“DidRangeBeaConsincinRegion”回调功能对两个信标发射机进行测距时,代码报告:

E/CycledLeScannerForLollipop(11734): Scan Failed error. 
当我使用Nexus5时,它可以返回两个信标信息包

有什么方法可以解决这个错误吗? 如果不是的话,我怎么能用密码识别出这种手机呢? 是否有类似以下代码:

BeaconTransmitter.checkTransmissionSupported(context) 
检查此手机是否能发出两个或多个信标信号

谢谢你的帮助

编辑:——8月31日更新

我用这个密码试了三部手机,结果如下:

采用安卓5.1.1的华为7i:
多个发射器将导致扫描失败错误

配备安卓6.0的华为P8:
多个发射机将只返回一个
信标包

搭载安卓5.1.1的Nexus5:
多个发射机将所有信标包正确

我完全被这些现象弄糊涂了…

有几点:

  • 您可以调用
    bluetoothAdapter.isMultiConcevertizentSupported()
    ,查看特定的Android设备是否允许一次传输多个广告。有些设备有,有些没有

  • 如果上述调用返回false,则可能意味着根本不支持广告(如Nexus 5)或只能发送一个广告(如Moto X)

  • 即使支持多个广告,插槽的数量也是有限的,其他应用程序可能已经全部使用了这些插槽。没有办法知道有多少插槽是空闲的。如果你不能得到一个免费的位置,广告就会失败

  • 当广告发布时,您在华为7i上报告的扫描失败听起来像是该设备特有的固件错误。这显然不是预期的行为,我也没有在其他设备上看到过。您的最佳选择可能是检测此设备类型,并禁止在应用程序上同时传输和扫描

    • 有几点:

      • 您可以调用
        bluetoothAdapter.isMultiConcevertizentSupported()
        ,查看特定的Android设备是否允许一次传输多个广告。有些设备有,有些没有

      • 如果上述调用返回false,则可能意味着根本不支持广告(如Nexus 5)或只能发送一个广告(如Moto X)

      • 即使支持多个广告,插槽的数量也是有限的,其他应用程序可能已经全部使用了这些插槽。没有办法知道有多少插槽是空闲的。如果你不能得到一个免费的位置,广告就会失败

      • 当广告发布时,您在华为7i上报告的扫描失败听起来像是该设备特有的固件错误。这显然不是预期的行为,我也没有在其他设备上看到过。您的最佳选择可能是检测此设备类型,并禁止在应用程序上同时传输和扫描


      这似乎是棒棒糖的问题。看,这似乎是一个关于棒棒糖的问题。谢谢你的回复。我很抱歉我的英语不好。看来你误解了我的意思。我的问题是,我如何才能找出那些不能测距超过一个iBeacon发射机的手机。iBeacon发射机不是手机本身,而是其他iBeacon电台,例如arduino+HM10。使用Nexus5手机,我可以拨打来自几个iBeacon站点的所有iBeacon信息。使用华为P8,我只能拨打一条iBeacon信息。对于华为7i,它返回E/CycledLescannerForLipop(11734):扫描失败错误。同样的代码,同样的iBeacon站。我还在我的华为7i手机上安装了定位应用程序。当我按下“定位信标”按钮来定位多个iBeacon信号时,应用程序将重新启动。如果只有一个iBeacon站,则定位应用程序正常,并将返回iBeacon信号的信息。很抱歉我的误解。我的最后一点仍然有效。听起来华为7i上存在固件问题,如果可以看到多个蓝牙设备,就会导致蓝牙扫描失败。这是不正常的。我不认为有任何方法可以知道有类似固件问题的设备列表。这是我听到的第一个报告,所以我只需检测到这个设备,并接受信标扫描不可用。感谢您的回复。我还有一个问题,这是类似的问题吗?。因为我有同样的情况:当扫描失败错误报告时,唯一的出路就是重启手机。否则,代码无法再对iBeacon信号进行测距,即使只有一个iBeacon站处于打开状态。错误是E/CycledLescannerForLipop(11734):扫描失败症状听起来很相似——本质上是蓝牙堆栈崩溃,需要重新启动才能纠正。但是,正如你所描述的,原因是不同的。谢谢你的回答。我很抱歉我的英语不好。看来你误解了我的意思。我的问题是,我如何才能找出那些不能测距超过一个iBeacon发射机的手机。iBeacon发射机不是手机本身,而是其他iBeacon电台,例如arduino+HM10。使用Nexus5手机,我可以拨打来自几个iBeacon站点的所有iBeacon信息。使用华为P8,我只能拨打一条iBeacon信息。对于华为7i,它返回E/CycledLescannerForLipop(11734):扫描失败错误。同样的代码,同样的iBeacon站。我还在我的华为7i手机上安装了定位应用程序。当我按下“定位信标”按钮来定位多个iBeacon信号时,应用程序将重新启动。如果只有一个iBeacon站,则定位应用程序正常,并将返回iBeacon信号的信息。很抱歉我的误解。我的最后一点仍然有效。听起来好像有一个