gpt4 book ai didi

android - 应用程序崩溃后清除状态栏中的通知

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:42 25 4
gpt4 key购买 nike

在我的应用程序中,我有几个服务正在运行。当用户停止应用程序(UI 部分)时,服务仍然在后台运行并在状态栏中显示通知(每个服务都有一个)。单击它时会出现一个对话框,可以选择取消相应的服务。

这是我的问题。当出现问题和应用程序崩溃时,状态栏区域中会保留通知。是否可以在显示标准 android 强制关闭对话框之前清除所有通知?

真正的错误是当我尝试打开点击通知的 Activity 时出现 NPE。它是固定的。但我只想知道如何在应用程序崩溃时清除所有内容。


这是我受老鼠帖子启发的最终解决方案。在创建方法中的应用程序中,我注册了 Thread.setDefaultUncaughtExceptionHandler()

@Override
public void onCreate() {
super.onCreate();
this.notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
final UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
UncaughtExceptionHandler appHandler = new UncaughtExceptionHandler() {

@Override
public void uncaughtException(Thread thread, Throwable ex) {
this.notificationManager.cancelAll();
defaultHandler.uncaughtException(thread, ex);
}
};
Thread.setDefaultUncaughtExceptionHandler(appHandler);
}

谢谢

最佳答案

你可以打电话

Thread.setDefaultUncaughtExceptionHandler()

当您的应用程序在线程中未处理某些异常时,将调用一个处理程序。如果 Thread 由于未处理的异常而死亡,则会调用此处理程序。

在这里你会做必要的清理工作。

这正是 ACRA 的方式崩溃报告库正在捕获崩溃。

关于android - 应用程序崩溃后清除状态栏中的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7606803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com