Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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
Android WiFi直接设备详细信息_Android_Device_Details_Wifi Direct - Fatal编程技术网

Android WiFi直接设备详细信息

Android WiFi直接设备详细信息,android,device,details,wifi-direct,Android,Device,Details,Wifi Direct,我想知道如何更改Android设备WiFi Direct接口的设备详细信息(例如接口名称)。 我正在开发一个应用程序,该应用程序使用蓝牙或WiFi Direct技术进行无线通信,它只连接到使用特定前缀命名的设备,以区分运行我的应用程序的设备和只打开接口的设备(我知道这是一个幼稚的解决方案…:)。 Bluetooth允许使用BluetoothAdapter类提供的setName(字符串名称)和getName()方法来操作接口的名称,但我相信WiFi Direct不存在相应的方法。 如果这是不可能的

我想知道如何更改Android设备WiFi Direct接口的设备详细信息(例如接口名称)。 我正在开发一个应用程序,该应用程序使用蓝牙或WiFi Direct技术进行无线通信,它只连接到使用特定前缀命名的设备,以区分运行我的应用程序的设备和只打开接口的设备(我知道这是一个幼稚的解决方案…:)。 Bluetooth允许使用
BluetoothAdapter
类提供的
setName(字符串名称)
getName()
方法来操作接口的名称,但我相信WiFi Direct不存在相应的方法。 如果这是不可能的,我如何区分那些运行我的应用程序的WiFi Direct设备和那些只打开接口的设备? 感谢您的帮助。
谢谢。

Wi-Fi直连名称是设备名称,您可以通过以下方式进行更改:

public void changeWiFiDirectName(final String newName){
Method m = null;
try {
    m = mManager.getClass().getMethod("setDeviceName", new Class[]{mChannel.getClass(), String.class, WifiP2pManager.ActionListener.class});
} catch (NoSuchMethodException e) {
    e.printStackTrace();
}
try {
    if (m != null) {
        m.invoke(mManager, mChannel,newName, new WifiP2pManager.ActionListener() {

            @Override
            public void onSuccess() {
                Log.d(TAG, "Name changed to "+newName);
            }
            @Override
            public void onFailure(int reason) {
                Log.d(TAG, "The name was not changed");
            }
        });
    }
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
}

也许你应该看看这个已经回答过的问题:[在android上获取WIFI接口名称][1][1]:谢谢你的回答!在这个问题上,他们谈到了一个在Android上获取Wifi接口名称的解决方案,而我正在搜索一个在Android上设置Wifi直接接口名称的解决方案!您可能希望使用类似这样的服务发现