Android startescan返回false

Android startescan返回false,android,bluetooth-lowenergy,android-bluetooth,ibeacon-android,Android,Bluetooth Lowenergy,Android Bluetooth,Ibeacon Android,BluetoothAdapter的方法StarteScan在扫描可扩展设备时有时会返回false。因此,我在应用程序中面临问题。我正在使用较新的方法startScan(ScanCallback callback)从棒棒糖开始,但需要支持API级别18及以上。非常感谢您的帮助。如果您查看startedscan的源代码,您会发现有几种情况会导致返回代码为假: 已提供空回调 客户端已使用同一回调启动扫描 该设备不支持蓝牙 发生内部RemoteException 对android.bluetooth.I

BluetoothAdapter的方法StarteScan在扫描可扩展设备时有时会返回false。因此,我在应用程序中面临问题。我正在使用较新的方法startScan(ScanCallback callback)从棒棒糖开始,但需要支持API级别18及以上。非常感谢您的帮助。

如果您查看
startedscan
的源代码,您会发现有几种情况会导致返回代码为假:

  • 已提供空回调
  • 客户端已使用同一回调启动扫描
  • 该设备不支持蓝牙
  • 发生内部
    RemoteException
  • 对android.bluetooth.IBluetoothGatt的内部调用失败
  • 由于这有时有效,问题可能不是1或3。您可以通过查看发生这种情况时LogCat中是否显示错误来检查它是否为4

    以上第2项是一个很好的候选项。你确定代码总是正确地停止扫描吗?您可能希望在每次启动和停止扫描时都进行日志记录,并确保不会连续看到两次启动


    如果问题不是上述任何一种情况,则留下可能性5,这表明ROM中的蓝牙芯片或驱动程序存在问题。如果是这种情况,您应该能够在不同的设备上运行相同的代码,并看到问题消失

    如果查看
    startedscan
    的源代码,您会发现有几种因素会导致返回代码为false:

  • 已提供空回调
  • 客户端已使用同一回调启动扫描
  • 该设备不支持蓝牙
  • 发生内部
    RemoteException
  • 对android.bluetooth.IBluetoothGatt的内部调用失败
  • 由于这有时有效,问题可能不是1或3。您可以通过查看发生这种情况时LogCat中是否显示错误来检查它是否为4

    以上第2项是一个很好的候选项。你确定代码总是正确地停止扫描吗?您可能希望在每次启动和停止扫描时都进行日志记录,并确保不会连续看到两次启动


    如果问题不是上述任何一种情况,则留下可能性5,这表明ROM中的蓝牙芯片或驱动程序存在问题。如果是这种情况,您应该能够在不同的设备上运行相同的代码,并看到问题消失

    你能发布你的代码吗?它可能有助于了解发生了什么。boolean flag=getBluetoothAdapter.starteScan(BluetoothAdapter.LeScanCallback回调);这是一个简单的启动扫描过程的调用…标志有时是假的…我开始和停止扫描过程每1或2秒扫描你张贴你的代码?它可能有助于了解发生了什么。boolean flag=getBluetoothAdapter.starteScan(BluetoothAdapter.LeScanCallback回调);这是一个启动扫描过程的简单调用…标志有时为假…我每隔1或2秒启动和停止扫描过程