您的位置:首页 > 移动开发 > Android开发

android蓝牙开发浅析2——startDiscovery

2013-04-14 01:24 267 查看
对于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: