【问题标题】:How to modify the default popup message that comes when the app get crashed in xamarin如何修改应用程序在 xamarin 中崩溃时出现的默认弹出消息
【发布时间】:2018-02-06 21:02:32
【问题描述】:

借助Post,我可以将unhandledException 写入文件。现在如何修改应用程序崩溃时出现的默认弹出消息,默认弹出消息将显示Unfortunately, App has stopped

我需要同时添加报告按钮。 xamarin有什么方法吗?

应用程序崩溃时的默认消息:

当应用程序崩溃时我们得到的修改后的弹出窗口: 我想做这样的事情。

【问题讨论】:

  • 对我来说这看起来像一个XY-Problem。您想在报告中发送什么?
  • 也许你应该找到 Xamarin 的崩溃报告工具。
  • 我想发送错误消息,我收到了@Dennis Schröer

标签: c# android xamarin


【解决方案1】:

您将收到“不幸的是,应用程序已停止”。当您遇到未处理的异常时弹出。

您需要一个try-catch 围绕可能引发异常的代码。

例子:

public bool CompressBitmap(string path, Bitmap bitmap)
{
    var filestream = new FileStream(path, FileMode.Create);
    bitmap.Compress(Bitmap.CompressFormat.Png, 100, filestream);
}

如果您调用CompressBitmap 并且bitmap 为空,您将收到“不幸的是,应用程序已停止”。弹出,因为您没有处理 NullReferenceException。你需要一个 try-catch:

public bool CompressBitmap(string path, Bitmap bitmap)
{
    try
    {
        var filestream = new FileStream(path, FileMode.Create);
        bitmap.Compress(Bitmap.CompressFormat.Png, 100, filestream);
    }
    catch (Exception e)
    {
        // Show your custom dialog with report button and have access to the Exception message with e.Message, e.Stacktrace, etc.
    }
}

【讨论】:

  • 是的,我们必须使用 try-catch 来处理异常。但是会有一些异常发生,这不是因为代码,可能是因为我们使用的手机可能不完全支持应用程序,然后应用程序可能会崩溃。就像我发生的这种情况,应用程序在一部手机上正常工作但不是另一方面
  • 但是它必须在代码的某个点崩溃,不是吗?我认为您需要找到它崩溃的确切位置,然后在该位置添加 try-catch。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
相关资源
最近更新 更多