1

アラームマネージャーについての質問私はこのコードを持っています

Calendar cal = Calendar.getInstance();
    cal.add(Calendar.SECOND, 5);
     Integer prof=t.getProfile();
    String prof2=prof.toString();
    Intent intent = new Intent(this, AlarmActivity.class);
    intent.putExtra("prof",(String)prof2);
    PendingIntent pendingIntent = PendingIntent.getActivity(this,(int)t.getId(), intent, PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager am =
            (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
            pendingIntent);

まだ完成していません...cal.set(Calendar.MINUTES、minutes);でカレンダーの時刻を設定できることはわかっています。そして何時間も同じです。

しかし、どうすれば日を設定できますか?たとえば-月曜日?day_of_weekはそれを設定しますか?もしそうなら-範囲は0-6または1-7ですか?そして、最低値は月曜日または日曜日ですか?

また、繰り返しイベント(週に1回)を作成する場合、新しいカレンダーを作成し、曜日/時間/分を設定する必要がありますか?または、getInstance()を使用して、時間/分/曜日を変更する必要がありますか?

アラームマネージャーについて。uがアラームを出すとき、あなたはuniqであるべきrequest_codeを与えます。電話を再起動した場合-すべてのリクエストコードは電話のアラームマネージャーに残りますか?いいえの場合-それらを維持する方法...はいの場合-テスト中に不要なものを削除するにはどうすればよいですか?

4

2 に答える 2

1

次のものも使用できます。

cal.add(Calendar.DATE, 7) 

カレンダーの時間を現在のカレンダー設定から1週間に設定します(減算など)。

ドキュメントへのリンクはおそらくここで保証されていると思います:

http://developer.android.com/reference/java/util/Calendar.html

2番目の質問に関しては、電話の再起動時にアラームマネージャーが持続しないため、共有設定またはSQLに保存してから、次に電話(およびアプリ)が再起動したときにアラームを再読み込みする必要があります...

アラームをキャンセルするには、alarm.cancel(pendingIntent)を使用します。自分で追跡する必要があるpendingIntents。

于 2012-12-11T21:53:13.233 に答える
0

カレンダーの設定方法の例は、ここにあります。さらに、Android Developer's APIは、曜日を設定する方法に関する複数のメソッドを示しています

于 2012-12-11T21:52:15.590 に答える