これは簡単な質問です。「Wifidirect」を使用して「グループ所有者アドレス」を取得する必要があります。これはWifiP2pInfo.GroupOwnerAddressにあることはわかっていますが、WifiP2pInfo.groupOnwerAddressを初期化して、アプリケーションでグループ所有者アドレスを取得するにはどうすればよいですか。
誰かが私にパスを渡すことができますか?私はAndroidとJavaの初心者です。
どうもありがとう。
これは簡単な質問です。「Wifidirect」を使用して「グループ所有者アドレス」を取得する必要があります。これはWifiP2pInfo.GroupOwnerAddressにあることはわかっていますが、WifiP2pInfo.groupOnwerAddressを初期化して、アプリケーションでグループ所有者アドレスを取得するにはどうすればよいですか。
誰かが私にパスを渡すことができますか?私はAndroidとJavaの初心者です。
どうもありがとう。
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
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();
}
});
}
}
}