我找不到很多 BluetoothDevice 方法,例如setPasskey()
,setPin()
,setPairingConfirmation()
,setRemoteOutOfBandData()
。
我也在 Android 网站上搜索过,但我找不到它。当我在eclipse的程序中使用这些方法时,它向我显示一个错误:它未定义类型 BluetoothDevice 。
现在这些已经过时了吗?如果是,那么相同类型的新方法是什么。
答案 0 :(得分:0)
假设配对过程仅由平台提供的应用程序执行! 这意味着此应用程序可以访问隐藏的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还有替代方法,但我没有尝试过。