这是一个简单的问题,我要使用“Wifi direct”获取“群组所有者地址”,我知道这是在WifiP2pInfo.GroupOwnerAddress中,但我如何初始化WifiP2pInfo.groupOnwerAddress以获取群组所有者地址我的申请?
有人能给我传球吗? 我是android和java的新手。
非常感谢。
答案 0 :(得分: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
答案 1 :(得分:2)
wifi 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();
}
});
}
}
}