Android WiFi Direct设备详细信息

时间:2012-05-16 21:42:03

标签: android device details wifi-direct

我想知道如何更改Android设备的WiFi Direct界面的设备详细信息(例如界面名称)。 我正在开发一个使用蓝牙或WiFi Direct技术进行无线通信的应用程序,它只连接到以特定前缀命名的设备,以区分运行我的应用程序的设备,相对于那些只有接口的设备(我知道这是一个天真的解决方案...... :))。 蓝牙允许使用setName(String name)类提供的getName()BluetoothAdapter方法来操作界面名称,但我认为不存在与WiFi Direct相对应的方法。 如果不可能,我如何区分运行我的应用程序的那些WiFi Direct设备,哪些只有那些只有接口的设备? 任何帮助表示赞赏。 谢谢。

1 个答案:

答案 0 :(得分:0)

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();
}