在代码中更改Android设备名称

时间:2012-05-10 17:14:51

标签: java android

我正在尝试更改当前正在运行的程序的Android设备名称,因为设备名称将包含与其他手机通信时相关的信息。随着手机扫描其他手机并计算信息,手机名称将不断更改。关于如何在java代码中更改手机名称的任何想法?我不能想象它只是几行代码,但我找不到任何东西。 提前谢谢。

1 个答案:

答案 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:)