Mic*_*ick 0 android alarmmanager
你好,我是Android中的菜鸟.我已经看过这个如何在Android中循环或重复定期任务?
我想知道您可以在后台Android中重复任务的不同类型的方法.我只知道AlarmManager在特定时间后你可以在哪里执行你的代码.还有其他方法可以做同样的事情.任何的想法 ?
AlarmManager将是一个很好的选择,因为它是一个系统服务,你不需要为此创建额外的服务.要启动AlarmManager,您需要一个待处理的意图和一个后台任务来执行繁重的工作.
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, DownloadService.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
boolean alarmUp = (PendingIntent.getBroadcast(ViewPagerActivity.this,
0, new Intent(ViewPagerActivity.this, DownloadService.class),
PendingIntent.FLAG_NO_CREATE) != null);
if (alarmUp)
am.cancel(sender);
Run Code Online (Sandbox Code Playgroud)
您可以在初始化活动或onCreate()时使用此代码.其中DownloadService是BroadcastReceiver类的扩展.
public class DownloadService extends BroadcastReceiver
Run Code Online (Sandbox Code Playgroud)
在onReceive这个类的内部方法中,您可以执行定期重复任务.
这就是你可以启动警报的方法,并将此代码放在活动或其他一些回调的恢复中
am.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(), globalData.serviceTimeInterval,
sender);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
887 次 |
| 最近记录: |