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

 

 

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

 

2.发现周围蓝牙设备
  BluetoothAdapter:代表了本地的蓝牙适配器
  BluetoothDevice:代表一个远程的蓝牙设备
  
  扫描已配对的蓝牙设备方法:
  1.在AndroidManifest.xml声明蓝牙权限
  <uses-permission Android:name="android.permission.BLUETOOTH" />
  
  2.获得BluetoothAdapter对象

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

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

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

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

 

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

[java] view plain copy
 
  1. Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);  
  2. intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); //可见持续300秒,不能超过300秒  
  3. startActivity(intent);  


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

[java] view plain copy
 
  1. //1.注册一个广播,用于接收“发现设备”的广播  
  2. IntentFilter intentFilter = IntentFilter(BluetoothAdapter.ACTION_FOUND);  
  3. BluetoothReceiver receiver = new BluetoothReceiver();  
  4. registerReceiver(receiver, intentFilter);  
  5.   
  6. //2.创建蓝牙适配器,并开始扫描  
  7. BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();  
  8. btAdapter.startDiscovery();  
  9.   
  10. //3.继续广播接收类,处理接收到的广播  
  11. private class BluetoothReceiver extends BroadcastReceiver{  
  12.   @Override  
  13.   public void onReceive(Context context, Intent intent){  
  14.     BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);  
  15.     System.out.println(device.getAddress());  
  16.   }  
  17. }  


 

posted @ 2017-03-23 16:16  神来钥匙-陈诗友  阅读(294)  评论(0编辑  收藏  举报