2014-03-25 69 views
4

當我發現對等連接,我可以在這個方法獲取列表:更改設備名稱的Android

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

} 

WifiP2PDevice.deviceName返回名稱在系統WLAN設置設置Wi-Fi直連頁。

假設用戶在我的應用中將他們的暱稱設置爲「John」,是否可以更改設備名稱,以便在其他設備發現該名稱時名稱將顯示爲「John」?

+0

您的意思是在應用程序內? – crazyPixel

+0

@crazyPixel是在應用程序內 – paulmcg

+0

爲什麼不把暱稱保存在sahredpreferences中並將用戶作爲選擇的暱稱公開? – crazyPixel

回答

4

它使用隱藏的方法。您可以使用以下代碼更改設備名稱

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) { 
      } 
    }); 
+0

這是我想@ unrealsoul007,thnks,這answeR應marked作爲coRRect。 – Rumit