Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在代码中更改Android设备名称_Java_Android - Fatal编程技术网

Java 在代码中更改Android设备名称

Java 在代码中更改Android设备名称,java,android,Java,Android,我正在尝试更改我的程序当前运行的Android设备的名称,因为该设备的名称将包含与其他手机通信时相关的信息。当手机扫描其他手机并计算信息时,手机名称将不断更改。有没有关于如何在java代码中更改手机名称的想法?我不能想象它只包含几行代码,但我找不到任何东西。 提前感谢。很容易,获取一个蓝牙适配器的实例(因为我认为您可以设置的唯一名称是蓝牙名称),它指向本地设备并调用setName(“newName”)在上面 BluetoothAdapter myDevice = BluetoothAdapter

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

很容易,获取一个蓝牙适配器的实例(因为我认为您可以设置的唯一名称是蓝牙名称),它指向本地设备并调用
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
:)

是的,我忘了提到它是蓝牙功能,但这似乎是正确的。等我有机会的时候,我会尝试一下,如果你是对的,我会告诉你。非常感谢。@user1153018别忘了+1,如果你想要的是+1,请接受。检查更新版本的完整代码,包括状态检查,以确保适配器已打开。如果答案是正确的,并且我没有足够高的重复率来+1您的答案,我将接受它。可能重复