用BluetoothAdapter類,你能夠在Android設備上查找週邊的藍牙設備然後配對(綁定),藍牙通訊是基於唯一地址MAC來相互 傳輸的,考慮到安全問題Bluetooth通訊時需要先配對。然後開始相互連接,連接後設備將會共享同一個RFCOMM通道以便相互傳輸數據,目前這些實 現在Android 2.0或更高版本SDK上實現。
一、查找發現findding/discovering devices
對於Android查找發現藍牙設備使用BluetoothAdapter類的startDiscovery()方法就可以執行一個異步方式獲取周邊的藍牙設備,因為是一個異步的方法所以我們不需要考慮線程被阻塞問題,整個過程大約需要12秒時間,這時我們緊接著註冊一個BroadcastReceiver 對象來接收查找到的藍牙設備信息,我們過濾ACTION_FOUND這個Intent動作來獲取每個遠程設備的詳細信息,透過附加參數在Intent欄位EXTRA_DEVICE 和EXTRA_CLASS, 中包含了每個BluetoothDevice 物件和物件的該裝置類型BluetoothClass ,範例程式碼
private final BroadcastReceiver cwjReceiver = new BroadcastReceiver() {
String action = intent.getAction();
if (Blue othDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) ;
myArrayAdapter.add(device.getName() + " android123 " + device.getAddress()); //取得裝置名稱及mac >;
// 註冊這個BroadcastReceiver
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(cwjReceiver, filter);
最後要注意123,最後需要注意的是提醒大家注意的是最後一個提醒大家在Service或Activity中重寫onDestory()方法,使用unregisterReceiver方法反註冊這個BroadcastReceiver物件保證資源被正確回收。
一些其他的狀態變化有 ACTION_SCAN_MODE_CHANGED 額外參數 EXTRA_SCAN_MODE 和 EXTRA_PREVIOUS_SCAN_MODE以及SCAN_MODE_CONNECTABLE_DISCOVERABLE、 SCAN_MODE_CONNECBLE和SCAN_MODE_NONE
本站所有資源都是由網友投搞發佈,或轉載各大下載站,請自行檢測軟件的完整性! 本站所有資源僅供學習與參攷,請勿用於商業用途,否則產生的一切後果將由您自己承擔! 如有侵權請聯繫我們删除下架,聯繫方式: admin@php.cn