我想知道如何更改 Android 设备的 WiFi Direct 接口的设备详细信息(例如接口名称)。我正在开发一个应用程序,它使用蓝牙或 WiFi Direct 技术进行无线通信,它只连接到以特定前缀命名的设备,以区分那些运行我的应用程序的设备,以及那些只有接口的设备(我知道这是一个天真的解决方案...... :))。蓝牙允许通过使用类提供的方法来操作接口的名称setName(String name)
,getName()
但BluetoothAdapter
我相信不存在WiFi Direct的相应方法。如果不可能,我如何区分那些运行我的应用程序的 WiFi Direct 设备,以及那些只打开接口的设备?任何帮助表示赞赏。谢谢你。
问问题
5219 次
1 回答
0
Wi-Fi direct Name 为设备名称,您可以通过以下方式更改:
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();
}
于 2016-04-27T12:18:22.670 回答