请问Android如何使用AlarmManager设置多个定时器

Android_Robot 2011-12-07 03:02:49
Android中使用AlarmManager进行定时操作,现在需要启动多个定时器,但无论采用哪种方式后面的定时器都会将前面的定时器覆盖掉(Android系统版本2.1),只启动最后一个定时器,见代码
// 方式一
for (int i = 0; i < 10; i ++) {
...
AlarmManager am = null;
am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
...
Intent i = new Intent("xxx");
PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
...
am.setRepeating(...);
}

// 方式二
AlarmManager am = null;
am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
for (int i = 0; i < 10; i ++) {
...
Intent i = new Intent("xxx");
PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
...
am.setRepeating(...);
}
请问如果要实现启动多个定时器应该怎么操作?Android系统的闹钟就是采用AlarmManager进行操作的,如何才能启动多个定时器呢?先谢谢大家了
...全文
1038 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
outspace_observer 2012-07-19
  • 打赏
  • 举报
回复
方式1,方式2在设定requestCode后都可以用吗?
gujinf2008 2012-01-09
  • 打赏
  • 举报
回复
请问怎么解决的啊?还有requestCode什么意思呢?api的解释是Private request code for the sender (currently not used).没看明白,lz解释下吧。还有第四个参数,都看不懂。O(∩_∩)O谢谢
Android_Robot 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ultrapro 的回复:]

public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags)


requestCode 需要是唯一的
[/Quote]OK问题解决,3Q
儿大不由爷 2011-12-07
  • 打赏
  • 举报
回复
public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags)


requestCode 需要是唯一的

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧