2016-03-31 3 views
0

毎週月曜日の午前9時に通知を送信したいと思います。私は自分の活動のonCreateを呼び出すアラームを設定する方法です。私の放送受信機は通知を生成するサービスを開始します。アラーム起動アプリ起動とアプリケーションが予定どおりに破棄されない

private void testAlarm(String date) { 
    Intent myIntent = new Intent(this, MyAlarmReceiver.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1111, myIntent, 0); 
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
    //set alarm every monday at 9:00 
    Calendar calendar = Calendar.getInstance(); 
    calendar.set(Calendar.DAY_OF_WEEK, 2); 
    calendar.set(Calendar.HOUR_OF_DAY, 9); 
    calendar.set(Calendar.MINUTE, 0); 
    calendar.set(Calendar.SECOND, 0); 
    calendar.set(Calendar.MILLISECOND, 0); 
    Log.e("calender set time", calendar.getTime() + ""); 
    //set repeating 
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY * 7, pendingIntent); 
} 

私はアクティビティを開始し、アプリケーションが破棄されたときに通知を受けました。問題とその解決策に関するいくつかの理論と説明を期待する。

更新
このコードは、アクティビティが開始されたときの通知の理由である可能性がある先週の月曜日までアラームを設定します。しかし、なぜそれが前の月曜日にアラームを設定したのですか?

答えて

0

calendar.add(Calendar.DAY_OF_YEAR, 1);を追加すると、すぐにアラームが鳴りません。

関連する問題