Я ищу, чтобы создать функцию для приложения для Android, в котором я получаю уведомление каждые 25-е число месяца, указывая, что я должен выполнить определенную задачу.Android: Расписание уведомления о сообщении в определенную дату
Я был в состоянии отобразить уведомление, используя следующий код:
public class NotificationPublisher extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
long[] pattern = {0, 300, 0};
PendingIntent pi = PendingIntent.getActivity(context,, intent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.small_logo_ico)
.setContentTitle(context.getResources().getString(R.string.notification_title))
.setContentText(context.getResources().getString(R.string.notification_content))
.setVibrate(pattern)
.setAutoCancel(true);
mBuilder.setContentIntent(pi);
mBuilder.setDefaults(Notification.DEFAULT_SOUND);
mBuilder.setAutoCancel(true);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(, mBuilder.build());
}
}
Сейчас эта система работает только тогда, когда у меня есть мое приложение с открытым и не позволяет мне показывать это когда приложение закрыто. Я искал вокруг и пришел к следующему: Android notification at specific date После проверки этого (часть расписания) я заметил, что он не работает, когда я закрываю приложение, так как я получаю сообщение об ошибке регистрации регистратора, делая это (отменить регистрацию) приводит к тому, что приемник отменяется, и уведомление не может быть показано.
код, используемый для расписания:
NotificationPublisher receiver = new NotificationPublisher();
this.receiver = receiver;
IntentFilter filter = new IntentFilter("ALARM_ACTION");
registerReceiver(receiver, filter);
Intent intent = new Intent("ALARM_ACTION");
intent.putExtra("param", "My scheduled action");
PendingIntent operation = PendingIntent.getBroadcast(this, 0, intent, 0);
// I choose 15s after the launch of my application
alarms.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+15000, operation) ;
Что я пропускаю, или я использую неправильные методы планирования уведомления на определенную дату? (Текущее уведомление назначено на запланированное 15 секунд в будущем, это только для тестирования, у меня есть функция, готовая отобразить это в определенную дату)
http://stackoverflow.com/questions/31086226/show-a-notification-on-a-particular-date-and-time – HAXM