我正在尝试显示来自 customExceptionHandler 类的 Toast 消息。但我无法做到这一点。
我已经看到了类似的问题,例如从 Application 类中显示 Toast 消息但是,它仍然没有解决我的问题。有什么我在这里想念的吗。
我可以在 Logcat 中看到 Log 语句,但是 toast 没有出现
public class MyApplication extends Application {
private Thread.UncaughtExceptionHandler defaultUEH;
private Thread.UncaughtExceptionHandler unCaughtExceptionHandler =
new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, final Throwable ex) {
Log.e("Inside Run", "******************** Inside uncaughtException ***************" + ex.getMessage());
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_SHORT).show();
}
};
public MyApplication() {
defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(unCaughtExceptionHandler);
}
}
我又尝试了一件事情,我知道静态方法和变量不是最佳解决方案,但是我在一个 util 类中创建了一个静态方法,在静态变量中维护了 activitiy 上下文,并用它来显示一个也没有的祝酒词不工作
喜欢
Util.showToast(ex.getMessage());
在 uncaughtException() 方法中