Я использую BroadcastReceiver для обнаружения изменений в сети. Однако оператор my else выполняется дважды, когда нет подключения к Интернету. Каков лучший способ справиться с этим?Лучший способ проверить, нет ли подключения к Интернету?
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
if (activeNetwork != null && (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI || activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)) {
Toast.makeText(context, "Connected", Toast.LENGTH_LONG).show();
} else {
Intent i = new Intent(context, NetworkErrorActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
Прочитайте http://stackoverflow.com/a/4239019/719212 и http://stackoverflow.com/a/8548926/719212 – R4j