赞
踩
对于BluetoothAdapter的startDiscovery()方法应该从以下几点理解:
一、startDiscovery方法有效的前提是本机必须打开蓝牙适配器,如果本机没有打开蓝牙适配器(可以调用BluetoothAdapter的enable方法打开蓝牙设备),android系统是什么都
不做的,这时连搜索开始的广播系统都没有发送,遑论其他的操作。
二、startDiscovery方法不是一个方法,而是一个异步方法,顾名思义,就是说此方法开启了一个子线程,工作是在子线程中进行的。
三、startDiscovery方法是这么一个过程:1、系统发送BluetoothAdapter.ACTIOIN_DISCOVERY_STARTED的广播。2、搜索其他蓝牙设备(只要是蓝牙设备,不论是什么系
统上面的,我蓝牙是NOKIA的蓝牙,照样可以搜索的到),注意,只要找到一个设备就发送一个BluetoothDevice.ACTION_FOUND的广播,接着又发现一个设备,又发送一
个BluetoothDevice的广播,如此反复,而我们从广播接收器中就可以得到这个BluetoothDevice对象了。3、系统发送BluetoothAdapter.ACTION_FINISHED的广播。整个过程
耗时12秒的时长。
四、取消搜索可以调用cancelDiscovery
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。