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进行操作的,如何才能启动多个定时器呢?先谢谢大家了

解决方案 »

  1.   

    public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags)     
    requestCode 需要是唯一的
      

  2.   

    请问怎么解决的啊?还有requestCode什么意思呢?api的解释是Private request code for the sender (currently not used).没看明白,lz解释下吧。还有第四个参数,都看不懂。O(∩_∩)O谢谢
      

  3.   

    方式1,方式2在设定requestCode后都可以用吗?