2010-06-11 8 views
4

Я хотел бы узнать лучшие практики для запуска Сервиса каждый день в 4 утра.Android - Прослушивание службы каждый день в 4 утра

Способ, которым я считаю Я должен делать это, чтобы создать новый повторяющийся сигнал тревоги с помощью AlarmManager и запустить службу в 4 утра. Проблема в том, что я не уверен, где поставить код для установки тревоги.

Я делаю это в своей основной деятельности как одна из первых задач в методе OnCreate? Делаю ли я некоторые фанки с BroadcastReceivers и намерениями? Что происходит, когда пользователь обновляет мое приложение? Что происходит, когда пользователь перезагружается?

Любая помощь с этими вопросами была бы очень благодарна :) Примерный код был бы полезен!

Бар

ответ

4

Вы можете планировать свой сигнал тревоги каждый раз телефон загружается и каждый раз, когда начинается ваше приложение. Чтобы прослушать событие загрузки телефона, вы можете использовать BroadcastReceiver.

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 
. 
. 
. 
<receiver android:name=".BootReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

Для полного образца вы посмотрите на приложения PhotoStream http://code.google.com/p/apps-for-android может. Он использует точно такой же подход.

+0

Итак, похоже, что я создаю BroadcastReceiver, который просто вызывает службу и сообщает ей, чтобы запланировать время для запуска. Звучит достаточно просто. Как насчет того, когда начнется мое приложение? Должен ли я планировать услугу в своей первой деятельности или есть другое намерение, которое я могу назвать? – Bara

+0

Первое занятие прекрасное – Fedor

+0

Последний вопрос: как насчет того, когда пользователь обновляет мое приложение? Они не обязательно запускают его или перезапускают свой телефон, но я считаю, что мой сервис отключается в этот момент. Что бы я сделал с этим? – Bara