作为一个刚开始接触Android/Java编程的人,我在https://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_DISCOVERY_FINISHED我正试图弄清楚,当蓝牙12秒扫描完成,并且返回时没有设备时,我是否只会得到ACTION_DISCOVERY_FINISHED,还是每次扫描都会返回ACTION_DDISCOVERY_FINISHED,并且它有一些我在文档中看不到的返回代码?
场景是:我正在构建一个可以收听BT的广播接收器,如果它打开,开始发现,结束发现,什么也没发现,我想关闭BT。
如果它真的返回代码,我会喜欢一个链接/代码本身。
感谢您的阅读和帮助!
ACTION_DISCOVERY_FINISHED告诉您发现已经完成,或多或少。
当发现设备时,会发送一个单独的Intent ACTION_FOUND。
为了实现您想要的功能,您需要检查您的广播接收器
intent.getAction().equals(BluetoothDevice.ACTION_FOUND)
如果收到的意向评估结果为true,则表示您发现了蓝牙设备。如果你想在该设备上进行处理,你可以通过访问它
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
编辑:如果你只想知道没有找到任何设备,你可以在ACTION_found处理代码中设置一个标志。如果未设置标志,则未找到任何设备。
编辑2:蓝牙设备发现的过程将发出以下意图序列:
1个操作_搜索_启动0个或多个ACTION_FOUND1 ACTION_DISCOVERY_ENDED