Android 只有在蓝牙关闭后才能继续启动

Android 只有在蓝牙关闭后才能继续启动,android,xamarin,bluetooth-lowenergy,Android,Xamarin,Bluetooth Lowenergy,这是一个理论问题 其中一台客户设备(安卓8 htc 10)在“设置”中禁用蓝牙模块后,继续触发OnLeScan回调。他只能在HTC10设备上重新编程 台阶 打开蓝牙启动应用程序 应用程序发现信标 关闭蓝牙 应用程序继续启动OnLeScan 我知道这是不可能的(我无法在其他设备上复制),但我了解这种情况 现在我计划在蓝牙状态改变时禁用ble扫描,所以我认为这将帮助我解决这个问题 但我还是不明白为什么它是这样工作的。你有什么想法吗?我想应该写一些代码来阻止leScan 尝试更新布尔标志,如“blut

这是一个理论问题

其中一台客户设备(安卓8 htc 10)在“设置”中禁用蓝牙模块后,继续触发
OnLeScan
回调。他只能在HTC10设备上重新编程

台阶

  • 打开蓝牙启动应用程序
  • 应用程序发现信标
  • 关闭蓝牙
  • 应用程序继续启动
    OnLeScan
  • 我知道这是不可能的(我无法在其他设备上复制),但我了解这种情况

    现在我计划在蓝牙状态改变时禁用ble扫描,所以我认为这将帮助我解决这个问题


    但我还是不明白为什么它是这样工作的。你有什么想法吗?

    我想应该写一些代码来阻止leScan

    尝试更新布尔标志,如“blutooh_enabled”,以监视蓝牙是否开启,然后编写一些代码,例如

    mBluetoothAdapter.stopLeScan(mLeScanCallback)


    我想这会对你有帮助。

    是的,我计划这样做,但不是用flag。我已使用IntentFilter BluetoothAdapter.ActionState更改了BroadcastReceiver。所以我将停止扫描那里。主要的问题是,我不明白它为什么会这样工作。我明白。有时在Nexus4或nexus7上运行时会产生问题。我想你正在使用其中一款手机。对吗?我有Nexus5,但它没问题。唯一导致问题的设备是htc 10