Я хочу проверить подключение к Интернету и Wi-Fi. Я реализовал код. Но в этом коде проблема заключается в том, что когда я активирую Wi-Fi на своем устройстве, то он постоянно тосты «Wi-Fi отключен» и «Интернет подключен» 3-4 раза, а затем, в конце концов, он тосты «Wi-Fi подключен» и то мое соединение Wi-Fi появляется на моем устройстве. Мне нужно проверить соединение Wi-Fi только один раз, когда я включаю или выключаю Wi-Fi. Спасибо.Android - проверьте подключение к Интернету и Wi-Fi с помощью BroadcastReceiver?
Java
public class ConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
boolean isConnectedInternet =
intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
ConnectivityManager wifiConn =
(ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = wifiConn.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
Toast.makeText(context, "Wifi Conected", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(context, "Wifi disconnected", Toast.LENGTH_LONG).show();
}
if(isConnectedInternet){
Toast.makeText(context, "Internet Connection Lost", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(context, "Internet Connected", Toast.LENGTH_LONG).show();
}
}
}
Menifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<receiver android:name=".ConnectionReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
как реализовать его в коде? –
Просто удалите фильтры намерения для двух других. – neofu
Я не получаю :( –