Ich versuche, die WiFi-Direct(WiFi-P2P)
in Android zu implementieren. Ich habe den Beispielcode in samples\android-19\legacy\WiFiDirectDemo
verwiesen.Wie bekomme ich die IP-Adresse des Peer-Geräts in Android für WiFi-Direct (WiFi-P2P)?
Ich installiere das WiFiDirectDemo.apk
auf phone-A
und führe es aus. Die phone-B
schalten die WiFi-Direct(WiFi-P2P)
in Android Setting
ein.
Nach phone-A
zum Telefon-B verbinden, zeigen sie die folgenden Informationen über die phone-A
.
Und der Code wie folgt aus:
@Override
public void onConnectionInfoAvailable(final WifiP2pInfo info) {
Log.d(WifiP2P.TAG, "onConnectionInfoAvailable----------- " + info);
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
this.info = info;
this.getView().setVisibility(View.VISIBLE);
// The owner IP is now known.
TextView view = (TextView) mContentView.findViewById(R.id.group_owner);
view.setText(getResources().getString(R.string.group_owner_text)
+ ((info.isGroupOwner == true) ? getResources().getString(R.string.yes)
: getResources().getString(R.string.no)));
// InetAddress from WifiP2pInfo struct.
view = (TextView) mContentView.findViewById(R.id.device_info);
view.setText("Group Owner IP - " + info.groupOwnerAddress.getHostAddress());
// After the group negotiation, we assign the group owner as the file
// server. The file server is single threaded, single connection server
// socket.
if (info.groupFormed && info.isGroupOwner) {
new FileServerAsyncTask(getActivity(), mContentView.findViewById(R.id.status_text))
.execute();
} else if (info.groupFormed) {
// The other device acts as the client. In this case, we enable the
// get file button.
mContentView.findViewById(R.id.btn_start_client).setVisibility(View.VISIBLE);
((TextView) mContentView.findViewById(R.id.status_text)).setText(getResources()
.getString(R.string.client_text));
}
// hide the connect button
mContentView.findViewById(R.id.btn_connect).setVisibility(View.GONE);
}
Die phone-A
ist Group Owner
. Und ich möchte TCP-Daten von phone-A
zu phone-B
senden.
1. Wie bekomme ich die IP-Adresse phone-B
. ?
2. Ist die Group Owner IP
bedeutet die IP address
von Phone-A
Mögliches Duplikat [Wie jedes Geräts der IP-Adresse in Wi-Fi Direct-Szenario zu bekommen?] (Http://stackoverflow.com/questions/10053385/how-to-get-each-devices-ip- Adresse-in-Wi-Fi-Direkt-Szenario) –
beziehen sich auf meine Antwort hier: http://stackoverflow.com/a/43437529/3260008 – Amos
Bitte senden Sie mir den vollständigen Code. –