`
844604778
  • 浏览: 551787 次
文章分类
社区版块
存档分类
最新评论

Android学习笔记 - 蓝牙篇 (Bluetooth)

 
阅读更多

1.什么是蓝牙
Bluetooth是目前使用的最广泛的无线通讯协议之一
主要针对短距离设备通讯(10米)
常用于连接耳机、鼠标和移动通讯设备等

2.发现周围蓝牙设备
BluetoothAdapter:代表了本地的蓝牙适配器
BluetoothDevice:代表一个远程的蓝牙设备

扫描已配对的蓝牙设备方法:
1.在AndroidManifest.xml声明蓝牙权限
<uses-permission android:name="android.permission.BLUETOOTH" />

2.获得BluetoothAdapter对象

3.判断当前设备中是否拥有蓝牙设备

4.判断当前设备中蓝牙设备是否已经打开

5.得到已经配对的蓝牙设备对象

  1. BluetoothAdapterbtAdapter=BluetoothAdapter.getDefaultAdapter();
  2. if(btAdapter!=null){
  3. if(btAdapter.isEnabled()){
  4. Intentintent=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
  5. startActivity(intent);
  6. Set<BluetoothDevice>devices=adapter.getBondedDevices();
  7. if(devices.size()>0){
  8. for(Iteratoriterator=devices.iterator();iterator.hasNext()){
  9. BluetoothDevicedevice=(BluetoothDevice)iterator.next();
  10. System.out.println(bluetoothDevice.getAddress());
  11. }
  12. }
  13. elseSystem.out.println("没有绑定的蓝牙设备");
  14. }
  15. elseSystem.out.println("蓝牙设备未正常启动");
  16. }
  17. elseSystem.out.println("无蓝牙设备");

3.修改本机蓝牙设备的可见性

  1. Intentintent=newIntent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
  2. intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,300);//可见持续300秒,不能超过300秒
  3. startActivity(intent);


4.扫描周围可用的蓝牙设备

  1. //1.注册一个广播,用于接收“发现设备”的广播
  2. IntentFilterintentFilter=IntentFilter(BluetoothAdapter.ACTION_FOUND);
  3. BluetoothReceiverreceiver=newBluetoothReceiver();
  4. registerReceiver(receiver,intentFilter);
  5. //2.创建蓝牙适配器,并开始扫描
  6. BluetoothAdapterbtAdapter=BluetoothAdapter.getDefaultAdapter();
  7. btAdapter.startDiscovery();
  8. //3.继续广播接收类,处理接收到的广播
  9. privateclassBluetoothReceiverextendsBroadcastReceiver{
  10. @Override
  11. publicvoidonReceive(Contextcontext,Intentintent){
  12. BluetoothDevicedevice=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
  13. System.out.println(device.getAddress());
  14. }
  15. }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics