4

我正在 android 中开发通知应用程序,它显示我使用日期选择器设置的特定日期和时间的通知。如果我的应用程序在后台运行,它会正确显示。但是当我强制停止我的应用程序或设备关闭并重新启动时,通知不会显示。即使应用程序强制关闭或设备重新启动,如何显示通知。

4

2 回答 2

1

你不能。通知附加到应用程序的上下文中。如果应用程序被杀死/销毁,您的通知也会随之消失。

您可以做的是在您的应用程序或其服务启动后重新创建这些通知。为此,请确保您确实捕获android.intent.action.BOOT_COMPLETED广播以便自动实现这一点。

于 2012-10-03T14:23:13.807 回答
1

您应该考虑使用AlarmManager而不是服务。使用自定义意图在所需的日期/时间设置警报。在 BroadcastReceiver 中,您创建并显示通知。

如果设备重新启动,您可能还需要监听 BOOT_COMPLETED Intent 并重置警报。

编辑:

一个例子:

long time = // time in milliseconds of when you want your Alarm

PendingIntent mIntent = PendingIntent.getBroadcast(context,
                0, new Intent("YOUR_CUSTOM_INTENT"), PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);        
am.set(AlarmManager.RTC_WAKEUP,
                        time, mIntent );

然后在 BroadcastReceiver 中捕获 YOUR_CUSTOM_INTENT 意图,显示通知并设置以下警报。

于 2012-10-03T14:26:06.780 回答