Вы не хотите использовать TimerTask
, так как это зависит от того, работает ли ваше приложение непрерывно. Реализация AlarmManager
позволяет безопасно убивать ваше приложение между выполнением.
Утверждение, что вы пытались использовать AlarmManager
, но не получило желаемого результата, не является полезным утверждением, поскольку оно сообщает никто, как помочь вам понять это правильно. Было бы гораздо полезнее выразить то, что произошло.
http://code4reference.com/2012/07/tutorial-on-android-alarmmanager/ содержит то, что кажется полезный учебник по AlarmManager
. Вот основные моменты:
1) Ваш сигнал приведет к срабатыванию Intent
, когда он истечет. Вам решать, какой Intent
и как он должен быть реализован. Ссылка, предоставленная мной, имеет полный пример, основанный на BroadcastReceiver.
2) Вы можете установить свой будильник с примером, например:
public void setOnetimeTimer(Context context) {
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(ONE_TIME, Boolean.TRUE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000 * 60 * 5), pi);
}
Конечно, просто добавьте перед методом ключевое слово static . Вот пример:
type Example = class
static member Add a b = a + b
end
Example.Add 1 2
val it : int = 3