您的位置:首页 > 移动开发

【起航计划 018】2015 起航计划 Android APIDemo的魔鬼步伐 17 App->Alarm->Alarm Service

2016-01-03 19:56 489 查看
Alarm Service和Alarm Controller 例子非常类似,只是Alarm Service是用来Schedule一个Service,而前面的例子是来Schedule一个Broadcast。
前面说过PendingIntent ,可以来描述一个Activity ,Broadcast,或是一个Service。本例是Schedule一个Alarm事件来启动一个Service。这通常用于来执行一个较费时的任务。

关于如果编写一个Service将在后面的有专门的例子来说明,只里不详述。只要知道AlarmService_Service是一个Service就行了。

下面的代码用来Schedule一个多次Alarm事件来启动AlarmService_Service:

private PendingIntent mAlarmSender;
...
// Create an IntentSender that will launch our service, to be scheduled
// with the alarm manager.
mAlarmSender = PendingIntent.getService(AlarmService.this,
0, new Intent(AlarmService.this, AlarmService_Service.class), 0);
...
// We want the alarm to go off 30 seconds from now.
long firstTime = SystemClock.elapsedRealtime();

// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 30*1000, mAlarmSender);


取消这个Alarm事件:

// And cancel the alarm.
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.cancel(mAlarmSender);




代码和Alaram Controller类似,同样的方法也可以Schedule一个Alarm事件来触发一个Activity。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐