android之藍牙開發續(自動配對)

上次說到關於藍牙的開發問題,但期間我們總要有一個人工的交互,需要用戶輸入配對碼!

怎樣才能取消用戶輸入配對碼呢?查找了一些資料,發現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顯示或一直展現我們應用界面呢?

若是有哪位大神已經做出了效果的話,請通知小弟一聲!萬謝!!!


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