Код: Выделить всё
private class WiFiDirectBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) {
NetworkInfo networkInfo = intent.getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO);
PRINTF("WiFiDirect WIFI_P2P_CONNECTION_CHANGED_ACTION " + networkInfo.getState());
if (networkInfo.getState() == NetworkInfo.State.CONNECTED) {
mManager.requestConnectionInfo(mChannel, new WifiP2pManager.ConnectionInfoListener() {
@Override
public void onConnectionInfoAvailable(WifiP2pInfo info) {
//This function is reached. The device can be pinged to
//info.groupOwnerAddress.getHostAddress()
}
});
}
}
Код: Выделить всё
NetworkRequest nr = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.addCapability(NetworkCapabilities.NET_CAPABILITY_WIFI_P2P).build();
mConnectivityManager.registerNetworkCallback(nr, new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
super.onAvailable(network);
//This is never being called for P2P
mConnectivityManager.bindProcessToNetwork(network);
}
});
Иначе, как бы мне удалось «подняться» и получить Сеть из < em>NetworkInfo в WiFiDirectBroadcastReceiver?
Подробнее здесь: https://stackoverflow.com/questions/791 ... 2p-network
Мобильная версия