你好我是Android中的菜鸟。我已经看过How to loop or to repeat periodically task in Android?
了我想知道您可以在后台Android中重复任务的不同类型。我只知道AlarmManager
您可以在特定时间后执行代码的地方。还有其他方法可以做同样的事情。有什么想法吗?
答案 0 :(得分:5)
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);
您可以在初始化活动或onCreate()时使用此代码。其中DownloadService是BroadcastReceiver Class的扩展。
public class DownloadService extends BroadcastReceiver
在此类的onReceive
方法内,您可以执行定期重复任务。
这就是你如何启动闹钟并将此代码放入活动或其他回调的简历中
am.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(), globalData.serviceTimeInterval,
sender);