3

重複の可能性:
Androidアラームマネージャーがすぐに起動するのはなぜですか?

私はアラーム通知を呼び出すこのコードを持っています

public static  Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this,  OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();

しかし、アラームは即座に発生します、それは与えられた時間と分後に待つことはありませんか?マニフェストファイルに何かを追加する必要がありますか?

4

1 に答える 1

3

現在の時刻を使用してアラームを設定します。だからそれは即座に発砲します。

APIを確認してください。http://developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29

そこで、2番目のパラメータとしてアラームが鳴る時間を渡します。あなたの場合、これは実際の時間です。したがって、現在メソッドを渡す時間に待機する時間を追加する必要があります。

于 2010-10-23T12:17:48.033 に答える