2015-03-18 5 views
0

Я понимаю, что если я хочу проверить подключение к Интернету в каждом изменении состояния сети, мне нужно создать BroadcastReceiver.BroadcastReceiver для проверки произошедшего изменения сети

Я добавил разрешения на мой манифест и я создал следующий класс:

public class NetworkChangeReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(final Context context, final Intent intent) { 
     final ConnectivityManager connMgr = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 

     final android.net.NetworkInfo wifi = connMgr 
       .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

     final android.net.NetworkInfo mobile = connMgr 
       .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

     if (wifi.isAvailable() || mobile.isAvailable()) { 
      Log.d("Netowk Available ", "Flag No 1"); 
     } 
     else 
     { 
      Log.d("Network not Available","Network is not available"); 
     } 
    } 
} 

только думаю, что я не понимаю, как я могу сделать слушатель, чтобы увидеть изменения. Я перекрытая в onResume и OnPause в моей деятельности, но ничего не происходит:

@Override 
public void onResume() { 
    super.onResume(); // Always call the superclass method first 

    registerReceiver(myBroadcast, new IntentFilter()); 
} 

@Override 
public void onPause() { 
    super.onPause(); // Always call the superclass method first 

    unregisterReceiver(myBroadcast); 
} 

ответ

2

Вы должны поставить BroadcastReceiver внутри вашей деятельности, как этот ответ указывает: https://stackoverflow.com/a/4011057/1758048

  • Я бы поставил это в комментарий, но я до сих пор не хватает очков репутации :(

с уважением.

+0

Изменить код, как в этом вопросе, но до сих пор она не Работа. –