Xamarin.Android:保存崩溃报告(保存 StackTrace)
Xamarin.Android: Save Crash-Reports (Save StackTrace)
我正在尝试在我的 Xamarin.Android 应用程序崩溃时保存我的错误消息和 StackTrace。
在 Xamarin.iOS 中,我可以简单地将我的 Main-Method 包装在一个 Try-Catch-Block 中,如下面的屏幕截图所示:
由于 Xamarin.Android 中没有 Main-Method(只有我的 MainLauncher Activity),我问自己一个问题,是否有类似的简单方法来记录异常。
我找到了记录所有未处理异常的解决方案:
在我的 MainLauncher 中 Activity:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
AndroidEnvironment.UnhandledExceptionRaiser += HandleAndroidException;
和
private void HandleAndroidException(object sender, RaiseThrowableEventArgs e)
{
e.Handled = true;
Logger = new LogUtils();
Logger.Log("ERROR: Unhandled Exception");
Logger.Log("MESSAGE: " + e.Exception.Message);
Logger.Log("STACKTRACE: " + e.Exception.StackTrace);
}
我正在尝试在我的 Xamarin.Android 应用程序崩溃时保存我的错误消息和 StackTrace。
在 Xamarin.iOS 中,我可以简单地将我的 Main-Method 包装在一个 Try-Catch-Block 中,如下面的屏幕截图所示:
由于 Xamarin.Android 中没有 Main-Method(只有我的 MainLauncher Activity),我问自己一个问题,是否有类似的简单方法来记录异常。
我找到了记录所有未处理异常的解决方案:
在我的 MainLauncher 中 Activity:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
AndroidEnvironment.UnhandledExceptionRaiser += HandleAndroidException;
和
private void HandleAndroidException(object sender, RaiseThrowableEventArgs e)
{
e.Handled = true;
Logger = new LogUtils();
Logger.Log("ERROR: Unhandled Exception");
Logger.Log("MESSAGE: " + e.Exception.Message);
Logger.Log("STACKTRACE: " + e.Exception.StackTrace);
}