Я работаю над приложением, которое может проверять данные в сети каждые полчаса, и мне нужно, чтобы он продолжал работать до тех пор, пока питание включено. В настоящее время, структура моего приложения, как это:Как я могу периодически запускать службу/поток в фоновом режиме, даже когда экран заблокирован?
- main_activity:
AlarmManager вonCreate()
- alarm_receiver:
start_service приобретают partial_wl для службы - службы:
ПОЛУЧИТЬ сети данных используя StrictMode pop activity_2, если данные ожидаются - Активность_2:
вибрации кнопка для выхода(activity_2.this.finish())
Но в тестировании я нахожу службы перестанут (убить) после первых 30 минут. Кроме того, если я запускаю поток для работы в сети вместо использования StrictMode, он будет убит за 5 минут после закрытия экрана.
Надеюсь, кто-то может дать предложение об этом. Это действительно тревожно. Большое спасибо.
Запуск справочной службы только для проверки доступности новых данных - это не очень хорошая идея. Попробуйте реализовать то же самое с помощью GCM. –
Вам не нужно создавать службу. AlarmManager с неточными повторяющимися сигналами тревоги каждые полчаса будет в порядке. На самом деле это сделано * для этой цели *. Я также предлагаю уведомление, если данные доступны, вместо того, чтобы отображать действие самостоятельно. Таким образом, пользователь уведомляется и может открыть свою деятельность с уже имеющимися данными по своему усмотрению. – 323go