0

このコードは、2012年12月25日にアラームを設定しました。2012年を毎年に置き換えることはどのように可能ですか?

Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
cal.set(Calendar.DATE,25);
cal.set(Calendar.MONTH,Calendar.DECEMBER);  
cal.set(Calendar.YEAR,2012);
4

1 に答える 1

1

アラームはディスクに保持されないことに注意してください。アラームがトリガーされるずっと前に、デバイスがリセット、再起動、または単にバッテリーを使い果たす可能性が非常に高いため、AlarmManagerをこのように長期間使用することはお勧めできません。デバイス起動用のブロードキャストレシーバー(BOOT_COMPLETED)を使用してアラームを登録することもできますが、それも信頼性が低く、ICS以降では使用できない場合があります(ユーザーがアプリを手動で起動しない限り)。

上記のコメントは正しいですが、これを行う1つの方法は、各アラームが次のアラームをスケジュールすることです。

于 2012-12-27T14:45:15.220 に答える