[英]Local Notifications each month in android
I am using following code 我正在使用以下代码
AlarmManager service = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, AlarmReceiver.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, i,PendingIntent.FLAG_CANCEL_CURRENT);
Calendar cal = Calendar.getInstance();
// Start 30 seconds after boot completed
cal.add(Calendar.SECOND, 30);
//
// Fetch every 30 seconds
// InexactRepeating allows Android to optimize the energy consumption
service.setInexactRepeating(AlarmManager.RTC_WAKEUP ,cal.getTimeInMillis(),AlarmManager.INTERVAL_DAY , pending);
// service.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
// REPEAT_TIME, pending);
In my code i hope it works after interval of one day and does a broadcast for AlarmReceiver service. 在我的代码中,我希望间隔一天后可以工作,并为AlarmReceiver服务进行广播。
However i want this to happen after exactly one month. 但是,我希望这恰好在一个月后发生。 E,g if a guy installs the application on 3rd of Jan the next alarm will occur on 3rd of Feburary and so on.
例如,如果某人在1月3日安装了该应用程序,则下一个警报将在2月3日发生,依此类推。 How can i put interval of one month.
我怎样才能间隔一个月。
Please use the following code. 请使用以下代码。 it dont have much difference from your current code.
它与您当前的代码没有太大区别。
AlarmManager service = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, AlarmReceiver.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, i,PendingIntent.FLAG_CANCEL_CURRENT);
Calendar cal = Calendar.getInstance();
// Start 1 month after boot completed
cal.add(Calendar.MONTH, 1);
//
// Fetch every 1 month
// InexactRepeating allows Android to optimize the energy consumption
service.setInexactRepeating(AlarmManager.RTC_WAKEUP ,cal.getTimeInMillis(),AlarmManager.INTERVAL_DAY , pending);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.