简单的一个:ACTION_DISCOVERY_FINISHED返回类似"no devices found"的东西吗?



作为一个刚开始接触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

最新更新