上次說到關於藍牙的開發問題,但期間我們總要有一個人工的交互,需要使用者輸入配對碼!
怎樣才能取消使用者輸入配對碼呢?查找了一些資料,發現android中關於藍牙這模組有一個
相當隱蔽的廣播action,需要你自己去設置,不然還沒法用,
體現方式為:
IntentFilter filter_PAIRING_REQUEST = new IntentFilter(
"android.bluetooth.device.action.PAIRING_REQUEST");
registerReceiver(
Bluetooth_BroadcastReceiver, filter_PAIRING_REQUEST);
然後在但接收到這個廣播的時候處理方式為:

 

BluetoothDevice ExtraDevice = intent
.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

 

try {
ExtraDevice.getClass().getMethod("setPin", byte[].class)
.invoke(ExtraDevice, pairing_pin.getBytes());
} catch (Exception e) {
log.Show("Exception(setPin):" + e.getMessage());
e.printStackTrace();
}
ps:裡面的pairing_pin為你設定的需要配對時用的配對碼 eg:pairing_pin = 「1234」;
做完了這些,當我們去測試的時候,會發現,有一個情況總會出現,那就是每次視窗會一閃而過,
總會出現系統的配對視窗,然後自己會自動消失了,對於這一現象,我到現在還沒有找到解決的方法,
初步設想有三種方式(我也不知道可不可行,要是有錯情不要怪我!):
方法一:遮罩系統的藍牙監聽
方法二:線上程中,我們有優先順序的這一說法,那麼在activity中會不會也有這一種說法呢?
把我們當前介面的activity的優先順序設置為最高的時候,我們使用者所能看到的就只有
應用軟體的介面了。
方法三:我們知道android中有好多的manager,那有沒有一個管理介面視窗的manager,
它能夠遮罩系統dialog顯示或一直展現我們應用介面呢?
若是有哪位大神已經做出了效果的話,請通知小弟一聲!萬謝!!!
 
本文出自 “梦想不灭老兵不死” 博客,请务必保留此出处http://zac119.blog.51cto.com/8035970/1330673
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()