2010-11-23 4 views
6

Как я могу выполнить действие (возможно, намерение) в каждый конкретный момент времени (например, каждый день в 5 утра)? Он должен оставаться после перезагрузки устройства, подобно тому, как работает cron.Как установить постоянное/регулярное расписание в Android?

Я не уверен, могу ли я использовать AlarmManager для этого, или я могу?

+0

да вы можете использовать его. – techiServices 2010-11-23 05:25:41

ответ

10

Если вы хотите, чтобы он оставался после перезагрузки устройства, вам необходимо запланировать будильник после перезагрузки устройства.

Вам нужно будет иметь разрешение RECEIVE_BOOT_COMPLETED в вашем AndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

BroadcastReceiver необходимо также, чтобы захватить намерения ACTION_BOOT_COMPLETED

<receiver android:name=".BootCompletedReceiver"> 
<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED" /> 
</intent-filter> 
</receiver> 

Наконец, переопределить OnReceive метод в BroadcastReceiver.

public class BootcompletedReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    //set alarm 
    } 
} 

Редактировать: Посмотрите на setRepeating метод AlarmManager вносить в расписание 'Android хрон'.

+0

Это не поможет вам в случае, если ваше приложение будет убито пользователем или системой Android. Как только это произойдет, ваши аварийные сигналы будут незарегистрированы, и вы больше никогда не будете вызваны. – Guy 2012-12-17 20:13:11

1

Использование Жужжалка SDK вы можете запланировать работу хрон в вашем App делать:

SchedulerManager.getInstance() 
.saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class); 

Где «0 8-19 * 1,2,3,4,5» является хрон строка, которая будет запускайте свою задачу один раз в час, с 8 утра до 7 вечера, пн-пт. Вы Задача может быть любой, что вы хотите, вам просто нужно реализовать метод doWork. Библиотека позаботится о перепланировке при перезагрузке, об обнаружении блокировки слежения и повторении ошибок.

More info about the BuzzBox SDK here...

Смежные вопросы