如何设置wifi direct的接口设备名称
how to set interface device name of wifi direct
我也有类似的问题post
Android WiFi Direct device details
然而,它似乎没有从 post 中得到任何解决方案。
有没有什么方法可以用来设置wifi-direct名称,类似于bluetoohAdapter & NsdServiceInfo中"setName()"或"setServiceName"的功能
您可以使用反射重命名设备 WiFi Direct 名称。在此处查看解决方案:Android rename device's name for wifi-direct
此外,/data/misc/wifi/p2p_supplicant.conf 中有一个名为 p2p_supplicant.conf 的文件,其中包含指定 WiFi Direct 名称的字段。您可以使用我的答案进行编辑,稍作调整:
请注意,您可以在 phone 上手动更改 WiFi Direct 设备的名称,而无需应用程序。 Android phones.
上的 WiFi->Wifi Direct 中有重命名设备选项
希望这对您有所帮助。如果您有任何问题,请告诉我。
我知道这已经晚了。
但你可以试试这个。在这里你必须通过 WifiP2pManager instance
alogn 和 WifiP2pManager.Channel instance
以及你想要设置的 custom name
。
这对我有用,希望对你也有帮助。
/*
Set WifiP2p Device Name
*/
public void setDeviceName(WifiP2pManager manager, WifiP2pManager.Channel channel, String deviceName){
//set device name programatically
try {
Class[] paramTypes = new Class[3];
paramTypes[0] = WifiP2pManager.Channel.class;
paramTypes[1] = String.class;
paramTypes[2] = WifiP2pManager.ActionListener.class;
Method setDeviceName = manager.getClass().getMethod(
"setDeviceName", paramTypes);
setDeviceName.setAccessible(true);
Object arglist[] = new Object[3];
arglist[0] = channel;
arglist[1] = deviceName;
arglist[2] = new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
}
@Override
public void onFailure(int reason) {
}
};
setDeviceName.invoke(manager, arglist);
}
catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
我也有类似的问题post Android WiFi Direct device details 然而,它似乎没有从 post 中得到任何解决方案。
有没有什么方法可以用来设置wifi-direct名称,类似于bluetoohAdapter & NsdServiceInfo中"setName()"或"setServiceName"的功能
您可以使用反射重命名设备 WiFi Direct 名称。在此处查看解决方案:Android rename device's name for wifi-direct
此外,/data/misc/wifi/p2p_supplicant.conf 中有一个名为 p2p_supplicant.conf 的文件,其中包含指定 WiFi Direct 名称的字段。您可以使用我的答案进行编辑,稍作调整:
请注意,您可以在 phone 上手动更改 WiFi Direct 设备的名称,而无需应用程序。 Android phones.
上的 WiFi->Wifi Direct 中有重命名设备选项希望这对您有所帮助。如果您有任何问题,请告诉我。
我知道这已经晚了。
但你可以试试这个。在这里你必须通过 WifiP2pManager instance
alogn 和 WifiP2pManager.Channel instance
以及你想要设置的 custom name
。
这对我有用,希望对你也有帮助。
/*
Set WifiP2p Device Name
*/
public void setDeviceName(WifiP2pManager manager, WifiP2pManager.Channel channel, String deviceName){
//set device name programatically
try {
Class[] paramTypes = new Class[3];
paramTypes[0] = WifiP2pManager.Channel.class;
paramTypes[1] = String.class;
paramTypes[2] = WifiP2pManager.ActionListener.class;
Method setDeviceName = manager.getClass().getMethod(
"setDeviceName", paramTypes);
setDeviceName.setAccessible(true);
Object arglist[] = new Object[3];
arglist[0] = channel;
arglist[1] = deviceName;
arglist[2] = new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
}
@Override
public void onFailure(int reason) {
}
};
setDeviceName.invoke(manager, arglist);
}
catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}