這裏的時間間隔是兩個鬧鐘之間的時間(以毫秒爲單位)。
//e.g
long interval=5*60*1000;
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), interval , pendingIntent);
然後我的警報將在每5分鐘後重復一次。
編輯
int days=GetTotalDays(current_month);
interval=(days)*24*60*60*1000;
public int GetTotalDays(int current_month)
{
//here u can fetch current months total days
//suppose current month is 6(means july as it starts from 0)
//& u want to set alarm to next month(august)
//so get remaining days from calender of current month + day of next month
//e.g(14-7 to 14-8) so
//remaining days from calender of current month = 18(14-7 to 31-7)
//day of next month =14.
//so return would be (18+14-2=30).(-2.as it takes currentdate and nextdate also in calculation)
int currentdate=14;
int nextdate=14;
int totalDays=getDaysInMonthInPresentYear(6);
int myDays=(totalDays-currentdate)+nextdate;
return myDays-2;
}
public static int getDaysInMonthInPresentYear(int monthNumber)
{
int days=0;
if(monthNumber>=0 && monthNumber<12){
try
{
Calendar calendar = Calendar.getInstance();
int date = 1;
int year = calendar.get(Calendar.YEAR);
calendar.set(year, monthNumber, date);
days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch (Exception e)
{
if(e!=null)
e.printStackTrace();
}
}
return days;
}
謝謝您的回答一樣,但我知道這一點。間隔5分鐘是靜止的,但每個月的間隔可能不同。例如7月14日到7月14日可能與7月14日到8月14日不同。其他解決方案? –
只是試圖把時間間隔= 30 * 24 * 60 * 60 ..我還沒有嘗試過......但每個月都有不同的日子,如28,30,31 ..所以可能BU可以獲取毫秒時間使用(新日期))。然後設置時間間隔。 –
檢查我編輯的答案。 –