从外部应用程序呢?您可以只构建一个 Android 版本,然后在最后一个状态下运行一个应用程序来更改 Android 设备名称吗?
您可以使用 IBluetooth.aidl -> setName 更改蓝牙名称。
教程可以在这里找到,它进一步引用了这个。
简而言之,在 src 中创建一个包 android.bluetooth,在其中复制粘贴 IBluetooth.aidl 和 IBluetoothCallback.aidl(您可以在上一个链接中找到它们)。
在您的代码中,导入包: import android.bluetooth.IBluetooth;
然后实现这个方法来获取蓝牙对象:
@SuppressWarnings("rawtypes")
private IBluetooth getIBluetooth() {
IBluetooth ibt = null;
try {
Class c2 = Class.forName("android.os.ServiceManager");
Method m2 = c2.getDeclaredMethod("getService", String.class);
IBinder b = (IBinder) m2.invoke(null, "bluetooth");
Class c3 = Class.forName("android.bluetooth.IBluetooth");
Class[] s2 = c3.getDeclaredClasses();
Class c = s2[0];
Method m = c.getDeclaredMethod("asInterface", IBinder.class);
m.setAccessible(true);
ibt = (IBluetooth) m.invoke(null, b);
} catch (Exception e) {
Log.e("flowlab", "Erroraco!!! " + e.getMessage());
}
return ibt;
}
然后实例化这个对象:IBluetooth ib =getIBluetooth();
并且可能使用 ib.setName("something");