2017-08-28 49 views
1

这是我的代码..在这段代码中,我设置通知有几个月有30天..如何给出条件,并设置通知有31,28个月的通知。我给INTERVEL_DAY * 30条件30天的月份。帮我设置所有月份的通知和应该给出的条件安卓帮助我得到每月通知..应该给予有条件的月份有几天30,31,28

intent = new Intent(getBaseContext(), AlarmReceiver.class); 
    pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); 
    alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 
    cale.getTimeInMillis(),AlarmManager.INTERVAL_DAY*30, pendingIntent); 
    alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    intent = new Intent("android.media.action.DISPLAY_NOTIFICATION"); 
    broadcast = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    alarmManager.set(AlarmManager.RTC_WAKEUP, cale.getTimeInMillis(), broadcast); 
+0

设置3闹钟将做的伎俩。一个是30秒,二是31,另一个是二战。 – Wizard

+0

我宁愿建议你不要瞄准一个单一的时间间隔设置,而是设置下一个闹钟月 - –

+0

嘿...谢谢你但是我需要类似的解决方案..如果我选择日期,如果我给了通知应该是每月例如每月29 ...我应该如何给出条件 – shwettha

回答

0
Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.DATE,1); 
calendar.set(Calendar.MONTH,1);//1 Means February 
calendar.set(Calendar.YEAR,2017); 

calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 

希望这可以帮助。如果您有任何疑问,请留言。

-1

使用日历对象。日历具有添加功能,您可以在其中添加小事件,日,月等。为当前日期添加1个月,距离今天为1个月。然后将其转换为AlarmManager历元以来的毫秒数。

+0

他是使用日历。此外,他正在寻找一种方法来设置它重复的时间间隔 –

+0

我错过了他在那里使用它,我的坏。至于想用setRepeating做一次 - 你不能。设置1次闹钟,并设置下一个闹钟。 –

+0

谢谢你...如果我将通知选项设置为每月....如果我使用日历对象和添加函数我可以正确地得到通知? – shwettha

0

以年,月,日为准。从那里你可以得到本月的最后一天。把这个日期像这样AlarmManager.INTERVAL_DAY * LastDayofMonth。

+0

谢谢你..工作 – shwettha

0
Calendar calendar = Calendar.getInstance(TimeZone.getDefault()); 
calendar.get(Calendar.MONTH) 

AlarmManager.INTERVAL_DAY*30 -> AlarmManager.INTERVAL_DAY * calendar.getActualMaximum(Calendar.DAY_OF_MONTH)