bro*_*oli 5 crash notifications android android-activity
在我的应用程序中,我正在创建一个FLAG_ONGOING_EVENT标志设置的通知.
Notification notification = new Notification(iconId, text, System.currentTimeMillis());
notification.flags |= Notification.FLAG_ONGOING_EVENT;
Run Code Online (Sandbox Code Playgroud)
我正在取消onDestroy中的通知,但如果我的应用程序在调用onDestroy之前崩溃,有没有办法让我的通知消失?
罗布
And*_*kov 18
一切都崩溃了,甚至是Google应用程序.我使用Thread.setUncaughtExceptionHandler()和以下处理程序代码:
package my.package;
import java.lang.Thread.UncaughtExceptionHandler;
import android.app.NotificationManager;
import android.content.Context;
public class CrashHandler implements UncaughtExceptionHandler
{
private static final int NOTIFICATION_ID = 12345;
private UncaughtExceptionHandler defaultUEH;
private NotificationManager notificationManager;
public CrashHandler(Context context)
{
this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
public void uncaughtException(Thread t, Throwable e)
{
if (notificationManager != null)
{
try
{
notificationManager.cancel(NOTIFICATION_ID);
}
catch (Throwable ex)
{
ex.printStackTrace();
}
}
notificationManager = null;
defaultUEH.uncaughtException(t, e);
}
}
Run Code Online (Sandbox Code Playgroud)
这与Android活动强制关闭前的回调大致相同?所以我在这里重复我的回答:
我建议不要让你的应用程序崩溃.如果有什么可能会崩溃,只需在它周围放一个try/catch并正确处理它.
或者,作为某种全局尝试/捕获,您可以使用Thread.setUncaughtExceptionHandler().最后,你甚至可以考虑Runtime.addShutdownHook,但这很可能是一个坏主意.
修复你的崩溃.这是唯一理智的解决方案.
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |