2013-03-25 43 views
1

這是一個簡單的問題,我必須使用「Wifi直接」獲取「羣組所有者地址」,我知道這是在WifiP2pInfo.GroupOwnerAddress中,但我如何初始化WifiP2pInfo.groupOnwerAddress以獲取我的應用程序中的集團所有者地址?Wifi Direct Group所有者地址

有人可以給我一個通行證嗎? 我是Android和Java新手。

很多謝謝。

回答

1
NetworkInfo networkInfo = (NetworkInfo)intent.getParcelableExtra(extraKey); 

    if (networkInfo.isConnected()) { 
    wifiP2pManager.requestConnectionInfo(wifiDirectChannel, 
     new ConnectionInfoListener() { 
     public void onConnectionInfoAvailable(WifiP2pInfo info) { 


      Toast toast=Toast.makeText(class.this,info.groupOwnerAddress.getHostAddress().toString, Toast.LENGHT_SHORT); 
      toast.show();  

     } 
     } 
    } 

對不起,對於遲到的答案。 這是擁有者IP info.groupOwnerAddress.getHostAddress().toString

1

wifi直接組中的所有者IP地址始終是恆定的,即192.168.49.1。要檢查這一點,你可以在你的BroadcastReceiver類中進行如下更改。

public void onReceive(Context context, Intent intent) { 
       String action = intent.getAction(); 

     if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) { 

        if (mManager == null) { 
         return; 
        } 
        NetworkInfo networkInfo = (NetworkInfo) intent 
          .getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO); 


        if (networkInfo.isConnected()) { 

         mManager.requestConnectionInfo(mChannel, new ConnectionInfoListener() { 

          @Override 
          public void onConnectionInfoAvailable(WifiP2pInfo info) { 

           InetAddress groupOwnerAddress = info.groupOwnerAddress; 


           String s=groupOwnerAddress.getHostAddress(); 
           Toast.makeText(mActivity, "Server IP Address "+s, Toast.LENGTH_SHORT).show();     

          } 
         }); 
        } 
       } 
}