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