假定配對過程僅由與平臺一起交付的應用程序執行! 這意味着此應用程序可以訪問隱藏的API。例如,您可以找到hidden API for Bluetooth here。 強烈建議不要使用隱藏的API,因爲它可以在未來的Android版本中發生更改而不會發出警告。 如果你仍然打算使用這個API最安全的方法是使用反射:
try {
Class<? extends BluetoothDevice> c = device.getClass(); // BluetoothDevice.class
Method createBond = c.getMethod("createBond");
Object result = createBond.invoke(device);
Boolean castedResult = (Boolean)result;
Log.d(TAG, "Result: " + castedResult.toString());
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
還有另一種方法easy use hidden API,但我沒有嘗試。