19

誰かが繰り返し曜日アラームを設定するための良いロジックを教えてもらえますか? を使用して毎週アラームを実行しました

alarmCalendar.set(Calendar.HOUR, AlarmHrsInInt);
alarmCalendar.set(Calendar.MINUTE, AlarmMinsInInt);
alarmCalendar.set(Calendar.SECOND, 0);
alarmCalendar.set(Calendar.AM_PM, amorpm);

Long alarmTime = alarmCalendar.getTimeInMillis();

Intent intent = new Intent(Alarm.this, AlarmReciever.class);
intent.putExtra("keyValue", key);
PendingIntent pi = PendingIntent.getBroadcast(Alarm.this, key, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 7*1440*60000 , pi); 

アラームは時間通りにトリガーされ、7 日後にその時点で自動的にトリガーされます。

しかし、私の要件は、7 日間だけでなく、日数を選択したいということです。

毎週月曜日、火曜日、木曜日の午前 9:00 のようなもの - アラームが自動的にトリガーされるはずです。setRepeating でこれを行うにはどうすればよいですか?

誰かがこれで私を助けることができますか?

ありがとう!

4

4 に答える 4

18

これらの質問は、あなたが望むのと同じことを話します。それらの答えは役に立ちます:

開始する日を指定して、7 日ごとに繰り返すだけです。与えられた質問に対する回答で指定されたいくつかの方法があります。

アラーム マネージャーを使用して平日の繰り返しアラームを取得するにはどうすればよいですか?

特定の曜日の Android 通知が直接オフになる

Androidでアラーム曜日を繰り返す方法

アップデート:

あなたのコメントであなたは言った

setRepeating で triggerAtMillis 部分を設定する方法。たとえば、今日が火曜日の場合、毎週の月曜日、水曜日、金曜日を選択します。- 水曜日には何を入れますか?

今日が火曜日の場合、水曜日の繰り返しにアラームを設定する方法を理解しましたよね?まず第一に、複数の ID を使用して、毎日個別にアラームを設定できます。

alarmCalendar.set(Calendar.DAY_OF_WEEK, week);次に、既存のコードに行を追加できます。曜日 (1 ~ 7) に基づいて、その日を繰り返します。パラメータとして関数に渡すことができます。お気に入り:

    setAlarm(2); //set the alarm for this day of the week

    public void setAlarm(int dayOfWeek) {
        // Add this day of the week line to your existing code
        alarmCalendar.set(Calendar.DAY_OF_WEEK, dayOfWeek);

        alarmCalendar.set(Calendar.HOUR, AlarmHrsInInt);
        alarmCalendar.set(Calendar.MINUTE, AlarmMinsInInt);
        alarmCalendar.set(Calendar.SECOND, 0);
        alarmCalendar.set(Calendar.AM_PM, amorpm);

        Long alarmTime = alarmCalendar.getTimeInMillis();
        //Also change the time to 24 hours.
        am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 24 * 60 * 60 * 1000 , pi); 
}

上記の質問の例を取り上げました。今より明確になることを願っています。

于 2013-07-27T04:23:18.340 に答える