0

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

4

1 回答 1

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

于 2012-05-10T17:45:56.443 回答