У меня есть что-то вроде следующего для инициирования IntentService
к BroadcastReceiver
с помощью повторных вызовов для опроса сервера обновлений:Отправить обновление для Повторяя BroadcastReceiver
AlarmManager pollManager;
Intent pollIntent;
PendingIntent pollPendingIntent;
...
pollIntent = new Intent(getActivity(), ActionUpdateReceiver.class);
pollIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pollIntent.putExtra(RECEIVER, resultReceiver);
pollIntent.putExtra(USER, accountId);
// This is the crux of my question
pollIntent.putExtra(SOMETHING_THAT_UPDATES, updatingThing);
pollPendingIntent = PendingIntent.getBroadcast(getActivity(), ACTION_REQUEST,
pollIntent, PendingIntent.FLAG_CANCEL_CURRENT);
pollManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
POLL_INTERVAL, pollPendingIntent);
В плане опроса сервера и с помощью ResultReceiver
для получения сервера обновления, вышеупомянутый подход работает хорошо. Тем не менее, мне нужно предоставить некоторые отзывы для службы опроса, чтобы изменить мои запросы обновления.
Как я могу предоставить отзыв для службы опроса? Если требуются обновленные запросы, мне просто нужно отменить текущий будильник и настроить намерения снова? Есть ли лучший подход, чем отмена?
ваш вопрос не ясно .. что «обеспечить обратную связь»? что такое сервер опроса? –
Что именно неясно? Служба опроса - это «IntentService», вызываемая «BroadcastReceiver», как указано. Обратная связь, хорошо, обратная связь. Это обратная связь для обновления запросов, используемых службой опроса, и это зависит от выполнения за пределами службы повторного опроса. – user3570982