2017-04-24 13 views
-1

私の質問は、毎月末にアラームを設定する方法です。これまでは、毎回アラームを設定できるコードがありましたが、毎月の設定方法はわかりません。これは私が現時点で持っているものです。月末に定期的にアラームを設定する - Android

public class AlarmSetter extends Activity { 
    Button btn; 

/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.yourlayout); 
    Calendar cal=Calendar.getInstance(); 
    cal.set(Calendar.MONTH,5); 
    cal.set(Calendar.YEAR,2011); 
    cal.set(Calendar.DAY_OF_MONTH,29); 
    cal.set(Calendar.HOUR_OF_DAY,17); 
    cal.set(Calendar.MINUTE,30); 


    Intent intent = new Intent(this, Mote.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 1253, intent, PendingIntent.FLAG_UPDATE_CURRENT| Intent.FILL_IN_DATA); 

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 

    alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),pendingIntent); 
    Toast.makeText(this, "Alarm Set.", Toast.LENGTH_LONG).show(); 
} 

あなたが見ることができるように、私は1月の終わりのためにそれを設定することができるよ、私はアラームが毎月の終わりにトリガされたいです。

乾杯!

+0

を返すうるう年であれば、それは、30を返す30日の月の現在month.Ifの実際の最大値を返します。次の「月末」? ...アクティビティのような長い用語を設定しても、再起動後もアラームが鳴りません – Selvin

答えて

4

Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);

これは、それが2月であるANそれは計算からあなたを停止している何それは29

関連する問題