1

通知を行おうとしています。アプリがインストールされている場合は、月の1日ごとに自動的にアラーム/通知が設定され、その通知をクリックすると、アプリケーションの特定のアクティビティが開きます。

これがアラームマネージャーの私のコードです

 // get a Calendar object with current time
    Calendar cal = Calendar.getInstance();
    // add 5 minutes to the calendar object
    cal.add(Calendar.MINUTE, 5);
    Intent intent = new Intent(this, AlarmReceiver.class);
    intent.putExtra(MESSAGE);

    PendingIntent sender = PendingIntent.getBroadcast(this, 10, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    // Get the AlarmManager service
    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);

アラームクラスを作りました

 @Override
 public void onReceive(Context context, Intent intent) 
 {
   try {
         Intent newIntent = new Intent(context, Appointment.class);
         context.startActivity(newIntent);
        } 
   catch (Exception e) 
    {
       Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show();
         e.printStackTrace();
      }
}

私の問題は、毎月1日に繰り返し通知として設定したいということです。アラームコード、mainActivityにあります。毎月繰り返すように設定するにはどうすればよいですか

4

1 に答える 1

2

Schedule a repeating alarm can be achieved by setRepeating() of AlarmManager()

public void setRepeating (int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)

月が何であるかを確認し、フラグなどを設定してINTERVAL_DAY *28Or INTERVAL_DAY*30ORを変更することで、目標を達成できることを願っています。INTERVAL_DAY*31

 am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),AlarmManager.INTERVAL_DAY*30, sender);
于 2013-01-04T17:57:48.563 に答える