以下のコードでアラームを作成してキャンセルすることができます。 複数のアラームを作成したいとします。アラーム時間はarraylistから来ます。このarraylistでは、私は各日付のアラームを作成したいと思います。キャンセルボタンを押すと、現在のアラームだけがキャンセルされます。どうしたらいいですか?どのように複数のアラームを作成できますか?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
setOneTimeAlarm();
buttonCancel.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
// Tell the user about what we did.
Toast.makeText(MainActivity.this, "Cancel!", Toast.LENGTH_LONG).show();
}
});
}
private void setOneTimeAlarm() {
Intent intent = new Intent(this, AReceiver.class);
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
感謝が、私はAlarmManagerでの日付のリストを設定する方法を理解していません。 – realuser
なぜあなたはリストを望みますか?これにより、いくつかの異なるアラームが作成され、カレンダーオブジェクトに異なる値を入力するだけです。私はすべてのアラームの参照をローカルデータベースに表示し、それらを表示してすべてキャンセルできるようにします。ループスルーし、alarmmanager.setをいくつかの呼び出しか、正確にはどういう意味ですか? –
私は同じ問題があると思います。私は警報を発する場所からのサービスを持っています。複数のアラームを設定すると、最後のアラームだけが動作します。だから私はそれを得ることはありません:私は複数のアラームを設定する場合、私はIDを使用する必要があります、またはIDは目的をキャンセルするためだけですか? – Mario