【发布时间】:2023-03-21 04:10:02
【问题描述】:
我在应用运行时显示通知。出于任何原因,应用程序显示强制关闭消息,在单击强制关闭按钮后关闭应用程序,我需要从通知区域中删除应用程序图标。
请指导我如何做到这一点。
【问题讨论】:
我在应用运行时显示通知。出于任何原因,应用程序显示强制关闭消息,在单击强制关闭按钮后关闭应用程序,我需要从通知区域中删除应用程序图标。
请指导我如何做到这一点。
【问题讨论】:
我强烈建议您一开始就不要让您的应用崩溃。至少,添加适当的异常处理(但实际上,只是修复你的错误)。
如果您因任何不明原因绝对无法避免崩溃,请使用异常处理程序 (Thread.setUncaughtExceptionHandler)。
【讨论】:
如果您在 Service 内处理此问题,最适合我的解决方案是在创建服务时终止所有通知。
@Override
public void onCreate() {
NotificationManager mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
mNM.cancelAll();
}
即使在强制关闭后通知仍会继续运行,我遇到了问题。我最初在onDestroy() 中有我的cacnelAll() 方法,但我发现onDestroy() 不一定会被调用。最安全的选择是取消您在 onDestroy 和 onCreate 方法中运行的通知。
【讨论】:
如果您的通知由服务处理且目标 API 为 14 或更高,那么您有机会在覆盖的“void onTaskRemoved(Intent rootIntent)”方法中取消通知。
【讨论】: