Я сожалею заранее о том, что не имелся код для развешивания, главным образом потому что я не могу ни за что в жизни выяснить, как я должен сделать то, что я должен сделать.
В основном, в указанных интервалах в течение дня (напр. 5 P.M), я хочу, чтобы мое приложение загрузило некоторые данные из моего сервера и сохранило его на устройстве. Это должно оба уменьшить нагрузку на мой сервер от наличия данных, загружаемых каждый раз, когда приложение запущено, и уменьшать загружающиеся времена для пользователя так, чтобы, когда они идут для использования приложения, последние данные уже находились на их устройстве.
У меня нет абсолютно никакой подсказки, как сделать это. Я знаю, как загрузить данные очень хорошо, но теперь как загрузить в фоновом режиме как, я планирую. Это даже возможно?
Я не прошу никого делать это для меня, но мог кто-то указывать на меня в правильном направлении.
Используйте AlarmManager
Этот класс обеспечивает доступ к системным службам сигнализации. Это позволяет вам запланировать запуск вашего приложения в какой-то момент в будущем. Когда срабатывает сигнал тревоги,
намерение
, которое было зарегистрировано для него, транслируется системой, автоматически запуская целевое приложение, если оно еще не запущено. Зарегистрированные сигналы тревоги сохраняются, пока устройство находится в спящем режиме (и может дополнительно разбудить устройство, если они сработают в течение этого времени), но будут сброшены, если оно будет выключено и перезагружено.
Используйте его для запуска службы
Служба - это компонент приложения, представляющий либо желание приложения выполнить более длительную операцию, не взаимодействуя с пользователем, либо предоставить функциональные возможности для использования другими приложениями.
Демонстрации API включают пример службы аварийных сигналов (в разделе «Приложение»), который:
Демонстрирует, как можно запланировать аварийный сигнал, вызывающий запуск службы. Это полезно, когда вы хотите запланировать будильники, которые инициируют длительные операции, такие как получение последних сообщений электронной почты.
В частности, см. AlarmService.java , где приведен пример использования AlarmManager, чтобы запланировать пробуждение вашей службы позже, и см. AlarmService_Service.java для примера того, как реагировать на эта тревога. Демонстрационный API AndroidManifest.xml содержит определения связанных служб и действий:
<service android:name=".app.AlarmService_Service" android:process=":remote" />
<activity android:name=".app.AlarmService" android:label="@string/activity_alarm_service">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
</activity>
не мог бы кто-нибудь направить меня в нужном направлении.
AlarmManager, Service, AsyncTask, BroadcastReceiver
<receiver android:name=".receiver.BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>