1

ユーザーが指定した時間にメソッドを呼び出そうとしています。たとえば、「午後 4 時 - ボブにメッセージを送信」などです。

calendar.HOUR()calendar.MINUTE()などを取得する方法を理解しています。ただし、このコードをどこに配置すればよいかわかりません。メソッドが適切なタイミングで呼び出されるようにしたいのですが、calendar time毎秒更新する必要もありません (RAM のバッテリー使用量が多すぎることを恐れて)。

私は現在、onCreateメソッドにあるこれを使用しています。

    if (calendarHour == startHour && calendarMinute == startMinute)
{
//do stuff
}

スパムメールを送信せずに現在時刻を確認する方法の基準はありますか? どのコードを使用し、どこに配置しますか?

4

1 に答える 1

3

AlarmManagerを使用します。

Calendar cal; // set your desired time
PendingIntent operation = PendingIntent.getService( /*  register a service that "sends a message to Bob"*/ );

final AlarmManager am = context.getSystemService(Context.ALARM_SERVICE).
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), operation);
// you can close your app now.
于 2013-04-20T20:04:26.680 に答える