Android 定义多个定时任务
时间: 2023-07-04 19:07:57 浏览: 142
在 Android 中,可以使用 AlarmManager 类来定义定时任务。如果需要定义多个定时任务,则可以创建多个 PendingIntent 对象,并将它们分别传递给不同的定时任务。
下面是一个简单的示例代码,演示如何定义两个定时任务,每个任务都会在指定的时间间隔后触发一个广播:
```
// 创建两个 PendingIntent 对象,分别用于不同的定时任务
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(context, 0, new Intent("ACTION1"), 0);
PendingIntent pendingIntent2 = PendingIntent.getBroadcast(context, 1, new Intent("ACTION2"), 0);
// 获取 AlarmManager 对象
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
// 定义第一个定时任务,每隔 10 秒触发一次
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10000, pendingIntent1);
// 定义第二个定时任务,每隔 30 秒触发一次
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 5000, 30000, pendingIntent2);
```
上面的代码会创建两个 PendingIntent 对象,分别用于触发不同的广播。然后通过 AlarmManager 的 setRepeating() 方法来定义两个定时任务,分别在不同的时间间隔后触发对应的广播。需要注意的是,第一个参数指定了定时任务的触发类型,这里使用的是 RTC_WAKEUP,表示使用实时时钟,同时会唤醒设备。第二个参数指定了定时任务的触发时间,这里使用的是 System.currentTimeMillis(),表示立即触发。第三个参数指定了定时任务触发的时间间隔,单位是毫秒。最后一个参数是 PendingIntent 对象,用于指定触发的广播。