Запустите службу, когда интернет активен в Android

#android #android-service

#Android #android-сервис

Вопрос:

Как запустить службу, когда Интернет включен? Мне нужно запустить службу, когда Интернет находится в активном состоянии. У меня есть приложение, которое взаимодействует с веб-приложением при наличии Интернета, даже в автономном режиме мобильному устройству требуется связь, это будет известно серверу во время активации Интернета.

Ответ №1:

Ответ в вашем вопросе. Просто создайте BroadcastReceiver для прослушивания состояния сети, когда интернет в порядке, запустите сервер как обычно.

 public class NetworkBroadcastReceiver extends BroadcastReceiver {

   @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {
            ConnectivityManager mgr = (ConnectivityManager)
                context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = mgr.getActiveNetworkInfo();
            if(networkInfo != null amp;amp; networkInfo.isConnected()){
                isNetworkConnected = true;
                //do your work here
            }
        }
    }}