2011-03-15 111 views
0

在我的代碼中,我試圖通過調用該函數來取消配對藍牙設備。無法調用函數「cancelBondProcess()」

import android.bluetooth.BluetoothDevice; .....

BluetoothDevice Device = mBluetoothAdapter.getRemoteDevice(address); .......

public void unpair(){ int state = getBondState();

if (state == BluetoothDevice.BOND_BONDING || state == BluetoothDevice.BOND_BONDED) { 

    Device.cancelBondProcess(); //Error in this line 

} 

回答

0

好像你正在使用一個非公開的API cancelBondProcess(), 此外,該API的聽起來像它只會取消該進程正在進行中,即當狀態BOND_BONDING,如果該設備已綁定它會失敗/返回錯誤。您需要使用removeBond()來移除綁定的設備 - 這也是非公開的API,如果您打算讓應用程序與各種版本的Android發行版保持兼容,則不推薦這樣做。

目前沒有公共的API來完成取消或取消債券。

+0

感謝您的回覆。如果沒有API,那麼我如何編程實現這一點。 – m4n07 2011-03-16 18:45:16

+0

取決於你想要做什麼,你可能想改變方法。爲什麼你想要刪除保稅設備? – 2011-03-16 19:46:28

+0

Bcoz我的保稅清單越來越大,我不想在我的保稅清單中搜索。如果我知道我將不再使用其他設備,爲什麼我應該保留它? – m4n07 2011-03-17 04:42:13