android - 如何更改 WiFi direct p2p 中的设备名称?

标签 android wifi-direct wifip2p device-name

是否可以通过代码更改 WiFi direct 的设备名称?我尝试过:

private WifiP2pDevice wDevice;
wDevice.deviceName = "newName";

但是,显然这是行不通的。 有什么想法吗?!

最佳答案

以下代码使用了Java的Reflection api,由于效率低下,不太可取,但Android没有提供另一种方式,您可以使用它 charm :

    try {
        Method m = wpm.getClass().getMethod(
                "setDeviceName",
                new Class[] { WifiP2pManager.Channel.class, String.class,
                        WifiP2pManager.ActionListener.class });

        m.invoke(WifiP2pManager wifimngr,WifiP2pManager.Channel wifichannel, new_name, new WifiP2pManager.ActionListener() {
            public void onSuccess() {
                //Code for Success in changing name
            }

            public void onFailure(int reason) {
                //Code to be done while name change Fails
            }
        });
    } catch (Exception e) {

        e.printStackTrace();
    }

关于android - 如何更改 WiFi direct p2p 中的设备名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24851961/

相关文章:

android - 为什么 WifiP2pService 会删除我的 Wifi Direct 组?

android - Wifip2p 网络信息中的 "isRoaming"是什么意思?

java - Dagger 2 范围和子组件

java - 无法从 WifiP2pDeviceList 获取设备

android - 通过 wifi direct 连接 10 多个设备?

android - Android 设备可以广播 SSID 吗?

android - WiFi 直接 : How to Connect and interact with peers programmatically without user intervention?

java - 如何即时更新ListView中的列表项?

android - Parse.com 上的一对多关系

java - Android计算android谷歌地图中的网格角位置