1

これは簡単な質問です。「Wifidirect」を使用して「グループ所有者アドレス」を取得する必要があります。これはWifiP2pInfo.GroupOwnerAddressにあることはわかっていますが、WifiP2pInfo.groupOnwerAddressを初期化して、アプリケーションでグループ所有者アドレスを取得するにはどうすればよいですか。

誰かが私にパスを渡すことができますか?私はAndroidとJavaの初心者です。

どうもありがとう。

4

2 に答える 2

3
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

于 2013-07-05T22:32:30.887 に答える
2

Wi-Fi Directのグループ所有者の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();                

                            }
                        });
                    }
                }
}
于 2014-06-03T05:34:18.673 に答える