在android上的wifidirect中更改设备名称

Posted

技术标签:

【中文标题】在android上的wifidirect中更改设备名称【英文标题】:Change device name in wifidirect on android 【发布时间】:2014-03-25 23:28:47 【问题描述】:

当我发现要连接的对等方时,我可以在此方法中获取列表:

@Override
public void onPeersAvailable(WifiP2pDeviceList peers) 
    List<WifiP2pDevice> peersList = new ArrayList<WifiP2pDevice>(peers.getDeviceList());


WifiP2PDevice.deviceName 返回 WifiDirect 页面的系统 Wifi 设置中设置的名称。

假设用户在我的应用中将他们的昵称设置为“John”,是否可以更改设备名称,以便当另一台设备发现它时,名称将显示为“John”?

【问题讨论】:

你的意思是在应用内吗? @crazyPixel 是的应用内 第一次连接时仍会显示默认名称,但对于后续连接到同一设备来说,这是一个很好的解决方法。 如果它是一个应用程序到应用程序的事情,你实际上可以解决这个问题 - 创建一个界面,一旦另一个用户看到你启动该事件并将你想要的详细信息作为列表发送 -在发现用户端创建一个带有 onDiscover 事件的界面并获取信息列表 - 这比编写(显然)要复杂一些,但应该工作得很好...... @paulmcg 你找到解决方法了吗? 【参考方案1】:

它使用隐藏的方法。您可以使用以下代码更改设备名称

Method m = manager.getClass().getMethod("setDeviceName", new Class[]     channel.getClass(), String.class,
                    WifiP2pManager.ActionListener.class);
        m.invoke(manager, channel, newDeviceName, new WifiP2pManager.ActionListener() 

            @Override
            public void onSuccess() 
            
            @Override
            public void onFailure(int reason) 
            
    );

【讨论】:

这是我想要的 @unrealsoul007,谢谢,这个答案应该标记为 coRRect。

以上是关于在android上的wifidirect中更改设备名称的主要内容,如果未能解决你的问题,请参考以下文章

Android 将设备名称重命名为 wifi-direct

wifi直接android应用创建

将 iPhone 连接到 Android 的 Wifi Direct 软 AP

Android 对等设备上的 WiFi 直接图像共享

WiFi Direct (Android 4.0) 与多个 (3+) 设备双向

iOS 上的 WiFi 直连