Android學習筆記 - 藍牙篇 (Bluetooth)

1.什麼是藍牙
  Bluetooth是目前使用的最廣泛的無線通訊協議之一
  主要針對短距離設備通訊(10米)
  常用於連接耳機、鼠標和移動通訊設備等

 

2.發現周圍藍牙設備
  BluetoothAdapter:代表了本地的藍牙適配器
  BluetoothDevice:代表一個遠程的藍牙設備
 
  掃描已配對的藍牙設備方法:
  1.在AndroidManifest.xml聲明藍牙權限
  <uses-permission android:name="android.permission.BLUETOOTH" />
 
  2.獲得BluetoothAdapter對象

  3.判斷當前設備中是否擁有藍牙設備

  4.判斷當前設備中藍牙設備是否已經打開

  5.得到已經配對的藍牙設備對象
 

BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
if(btAdapter != null){
  if(btAdapter.isEnabled()){
    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivity(intent);
    Set<BluetoothDevice> devices = adapter.getBondedDevices();
    if(devices.size() > 0){
      for(Iterator iterator = devices.iterator(); iterator.hasNext()){
        BluetoothDevice device = (BluetoothDevice)iterator.next();
        System.out.println(bluetoothDevice.getAddress());
      }
    }
    else System.out.println("沒有綁定的藍牙設備");
  }
  else System.out.println("藍牙設備未正常啓動");
}
else System.out.println("無藍牙設備");

 

3.修改本機藍牙設備的可見性

  Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
  intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); //可見持續300秒,不能超過300秒
  startActivity(intent);


4.掃描周圍可用的藍牙設備
 

  //1.註冊一個廣播,用於接收“發現設備”的廣播
  IntentFilter intentFilter = IntentFilter(BluetoothAdapter.ACTION_FOUND);
  BluetoothReceiver receiver = new BluetoothReceiver();
  registerReceiver(receiver, intentFilter);
  
  //2.創建藍牙適配器,並開始掃描
  BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
  btAdapter.startDiscovery();
  
  //3.繼續廣播接收類,處理接收到的廣播
  private class BluetoothReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){
      BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
      System.out.println(device.getAddress());
    }
  }


 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章