我正在尝试更改当前正在运行的程序的Android设备名称,因为设备名称将包含与其他手机通信时相关的信息。随着手机扫描其他手机并计算信息,手机名称将不断更改。关于如何在java代码中更改手机名称的任何想法?我不能想象它只是几行代码,但我找不到任何东西。 提前谢谢。
答案 0 :(得分:1)
这很简单,获取一个蓝牙适配器的实例(因为您可以设置的唯一名称是我认为的蓝牙名称),它引用本地设备并在其上调用setName("newName");
。
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
myDevice.setName("new name");
引用文档:
使用UTF-8编码的有效蓝牙名称最多为248个字节,但许多远程设备只能显示前40个字符,有些可能仅限于20个。
因此请注意您设置的设备名称。哦,另一方面,如果设备蓝牙关闭,则无法更改名称。因此,检查后的实际代码将是以下几行:
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
if(myDevice.getState() == BluetoothAdapter.STATE_ON){
myDevice.setName("new name");
}
需要注意的重要事项:
如果要在模拟器上测试它,请注意模拟器上没有蓝牙功能,因此getDefaultAdapter()
方法返回null,从而产生NullPointerException
:)