Перенести приемник на андроид - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть AlarmManager, который устанавливает repeating alarm. (На самом деле не будильник, а отправка почты). Поэтому в BroadcastReceiver я делаю фактическую отправку почты. Но для отправки почты нужен интернет. Поэтому, когда у телефона нет подключения к Интернету, электронное письмо не отправляется. Как мне "snooze" действие, которое находится внутри onReceive () в моем BroadcastReceiver? Я делаю новый Receiver, который запускается с этим (когда phon haz internietz) или ???

    private boolean isNetworkAvailable() {

        ConnectivityManager cm
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ai= cm.getActiveNetworkInfo();
        return ai!= null;
    }

EDIT: Получил это на работу. Использовал IntentService, который каждые 10 минут проверяет, доступен ли интернет, и если: отправлять почту. IntentService запускается из моего BroadcastReceiver, куда изначально должна отправляться электронная почта, если нет интернета.

1 Ответ

0 голосов
/ 06 февраля 2012

Просто используйте фоновый сервис, который проверяет подключение к Интернету.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...