Android蓝牙编程

Android蓝牙编程

ID:41032362

大小:281.50 KB

页数:27页

时间:2019-08-14

Android蓝牙编程_第1页
Android蓝牙编程_第2页
Android蓝牙编程_第3页
Android蓝牙编程_第4页
Android蓝牙编程_第5页
资源描述:

《Android蓝牙编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ANDROID蓝牙编程用BluetoothAdapter类,你能够在Android设备上查找周边的蓝牙设备然后配对(绑定),蓝牙通讯是基于唯一地址MAC来相互传输的,考虑到安全问题Bluetooth通讯时需要先配对。然后开始相互连接,连接后设备将会共享同一个RFCOMM通道以便相互传输数据,目前这些实现在Android2.0或更高版本SDK上实现。 一、查找发现findding/discoveringdevices 对于Android查找发现蓝牙设备使用BluetoothAdapter类的startDiscovery()方法就可以执行一个异步方式获取周边的蓝

2、牙设备,因为是一个异步的方法所以我们不需要考虑线程被阻塞问题,整个过程大约需要12秒时间,这时我们紧接着注册一个BroadcastReceiver对象来接收查找到的蓝牙设备信息,我们过滤ACTION_FOUND这个Intent动作来获取每个远程设备的详细信息,通过附加参数在Intent字段EXTRA_DEVICE和EXTRA_CLASS,中包含了每个BluetoothDevice对象和对象的该设备类型BluetoothClass,示例代码privatefinalBroadcastReceivercwjReceiver=newBroadcastReceiver

3、(){   publicvoidonReceive(Contextcontext,Intentintent){       Stringaction=intent.getAction();           if(BluetoothDevice.ACTION_FOUND.equals(action)){             BluetoothDevicedevice=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);             myArrayAdapter.add(device

4、.getName()+"android123"+device.getAddress());//获取设备名称和mac地址       }   }};// 注册这个BroadcastReceiverIntentFilterfilter=newIntentFilter(BluetoothDevice.ACTION_FOUND);registerReceiver(cwjReceiver,filter); 最后android123提醒大家需要注意的是,记住在Service或Activity中重写onDestory()方法,使用unregisterReceiver方法反

5、注册这个BroadcastReceiver对象保证资源被正确回收。 一些其他的状态变化有ACTION_SCAN_MODE_CHANGED额外参数EXTRA_SCAN_MODE 和EXTRA_PREVIOUS_SCAN_MODE以及SCAN_MODE_CONNECTABLE_DISCOVERABLE、SCAN_MODE_CONNECTABLE和SCAN_MODE_NONE,蓝牙模块  二、配对绑定bnded/paireddevice 在Android中配对一个蓝牙设备可以调用BluetoothAdapter类的getBondedDevices()方法可以获取已

6、经配对的设备,该方法将会返回一个BluetoothDevice数组来区分每个已经配对的设备,示例代码如下:SetpairedDevices=cwjBluetoothAdapter.getBondedDevices();if(pairedDevices.size()>0) //如果获取的结果大于0,则开始逐个解析 {       for(BluetoothDevicedevice:pairedDevices){        myArrayAdapter.add(device.getName()+"android123"+de

7、vice.getAddress()); //获取每个设备的名称和MAC地址添加到数组适配器myArrayAdapter中。   }}蓝牙模块 很多网友不明白如何让自己的手机被其他蓝牙设备发现如何设置,下面我们就一起来说说 三、允许发现enablingdiscoverability 如果需要用户确认操作,不需要获取底层蓝牙服务实例,可以通过一个Intent来传递ACTION_REQUEST_DISCOVERABLE参数,这里通过startActivityForResult来强制获取一个结果,重写startActivityForResult()方法获取执行结果,

8、返回结果有RESULT_OK和RESULT_CANC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。