android alarmmanager进程,Android中使用AlarmManager需注意设置进程属性
Android中使用AlarmManager需注意設置進程屬性
在Android中,AlarmManager提供了不受休眠狀態的系統定時功能,其一般使用方法如下。
1、創建一個BroadcastReceiver類的子類,接收定時器事件:
public class MyReceiver extends BroadcastReceiver {
......
}
2、在AndroidMenifest.xml中定義上述廣播事件接收類的定義:
3、在程序中在需要時設置定時器:
Intent intent = new Intent(context,MyReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP , SystemClock.elapsedRealtime() + ms, pendingIntent);
經過ms毫秒之后,MyReceiver會被調用,從而實現定時觸發。
但是,上述實現存在一個問題:如果設置定時器的進程被殺死之后,定時器事件就不會觸發。而在Android中,系統在需要時會自動終止后臺進程,因此在定時過程中,進程被殺死的可能性是非常之大的,特別是在一些內存較少的設備中,基本上后臺進程所設置的定時器很難被觸發。
為了讓定時器在進程被終止后還能觸發,需要對上述實現做一個小的修改:在AndroidMefest.xml中如下定義廣播接收類:
總結
以上是生活随笔為你收集整理的android alarmmanager进程,Android中使用AlarmManager需注意设置进程属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux systemctl命令详解
- 下一篇: android 随机布尔值,在 Andr