我有一个非常简单的
Thread.IUncaughtExceptionHandler
如下所示
public class AirExceptionHandler : Java.Lang.Object, Thread.IUncaughtExceptionHandler
{
public static readonly string TAG = "AirExHandler";
private MainActivity activity;
private Thread.IUncaughtExceptionHandler defaultUEH;
public AirExceptionHandler(MainActivity activity)
{
Log.Info(TAG, "Initialised");
this.activity = activity;
this.defaultUEH = Thread.DefaultUncaughtExceptionHandler;
}
public void SetActivity(MainActivity activity)
{
this.activity = activity;
}
public void UncaughtException(Thread t, Throwable e)
{
Log.Info(TAG, "Force Closed");
JavaSystem.Exit(0);
}
}
在我的
Mainactivity
,我正在执行以下操作以初始化它
OnCreate
private static Handlers.AirExceptionHandler _unCaughtExceptionHandler;
.........
if (_unCaughtExceptionHandler == null)
_unCaughtExceptionHandler = new Handlers.AirExceptionHandler(this);
else
_unCaughtExceptionHandler.SetActivity(this);
if (Thread.DefaultUncaughtExceptionHandler != _unCaughtExceptionHandler)
Thread.DefaultUncaughtExceptionHandler = (_unCaughtExceptionHandler);
我能看见
Log.Info(TAG, "Initialised");
触发,但当我强制关闭我的应用程序时
UncaughtException
未触发
我做错了什么?