0

私はこのようなアラームマネージャーを持っているリマインダーアプリケーションを持っています

public class ReminderManager {

private Context mContext; 
private AlarmManager mAlarmManager;

public ReminderManager(Context context) {
    mContext = context; 
    mAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}

public void setReminder(Long taskId, Calendar when) {
     System.out.println("**********************************remindedrmanager************************" );

    Intent i = new Intent(mContext, OnAlarmReceiver.class);
    i.putExtra(RemindersDbAdapter.KEY_ROWID, (long)taskId); 

    PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT); 

    mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
}
}

複数のアラームを設定しても、アラームが1つしか表示されません。上記のコードの間違いによる問題ですか、それとも他の間違いによる問題ですか。

4

1 に答える 1

1

以下のコードに従って、保留中のインテントを宣言した行に変更引数2があります。代わりに、0の代わりに(int)System.currentTimeMillis()を指定してください

また、Androidは複数のアラームを同時に設定します

PendingIntent pi = PendingIntent.getBroadcast(mContext,(int)System.currentTimeMillis(), i, PendingIntent.FLAG_UPDATE_CURRENT);
于 2011-11-15T10:34:20.570 に答える