是否可以在 Android 中创建某种全局异常处理程序?

2023-12-04

我的应用程序包括一系列活动,用户必须以线性方式进行这些活动。假设这一系列活动如下所示:A(代表主菜单)、B、C、D、E。用户的操作过程如下:A -> B -> C -> D -> E。在这些活动中,用户必须输入数据或允许设备自动获取数据(例如通过网络或蓝牙)。

有时,我的应用程序会在其中一项活动中崩溃。通常,最终发生的情况是应用程序向后移动一两个活动。例如,如果我的应用程序在 Activity D 中崩溃,该应用程序可能会移回 Activity C 或 B。但问题是,在这样的崩溃之后,输入数据处于如此奇怪的状态,以至于应用程序再次崩溃并显示强制关闭对话框,一路返回到 Activity A 主菜单。

如何捕获导致整个应用程序全局崩溃的异常,以便我可以清理数据并优雅地允许用户返回主菜单?


扩展应用程序类

import android.app.Application;
import android.util.Log;

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {

            @Override
            public void uncaughtException(Thread thread, Throwable ex) {
                Log.e("MyApplication", ex.getMessage());            

            }
        });
    }
}

在 AndroidManifest.xml 文件中添加以下行作为 Application 属性

android:name=".MyApplication"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在 Android 中创建某种全局异常处理程序? 的相关文章

  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • 第一次机会异常 - 在内存位置长?

    这是什么 我该如何处理 修复它 First chance exception at 0x756fb727 in Program exe Microsoft C exception long at memory location 0x0018
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 未捕获 Func<> 的异常(异步)

    我有以下代码 为了进行此重现而进行了简化 显然 catch 异常块将包含更多逻辑 我有以下代码 void Main var result ExecuteAction async gt Will contain real async code
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 如何在特定文件夹(ZIP 中)中添加文件

    以下代码说明了如何使用 java 将文件添加到 zip 中 String source C Users XXXXX Desktop Helicopter zip try ZipFile zipFile new ZipFile source
  • MVC/JQuery 验证不接受逗号作为小数点分隔符

    更新 07 01 2018 尽管有人建议这是一个 jQuery 问题而不是 MS ASP MVC 问题 但我认为这是一个 MVC 问题 我已经在 asp net core 2 0 MVC 中创建了整个应用程序 但错误仍然存 在 对我来说 将
  • RichTextBox从文本中删除转义字符

    在将文本添加到 RichTextBox 中的 RTF 属性之前 我对文本进行了一些处理 添加转义字符 然后将数据划分为多行 文字是 第 1 行 n u001aline2 n u001aline3 n u001aline4 当我将 VS 20
  • initContainers 和 Kubernetes 中容器的区别

    我注意到在部署文件中有两个容器字段 例如initContainers and containers对我来说看起来很困惑 我通过互联网搜索但无法理解 谁能告诉我两者之间的区别initContainers and containers以及我们如
  • OAuth2 登录后 Facebook 获取个人资料链接

    我通过 Facebook 社交网络为网站上的用户使用 OAuth2 登录 登录后是否仍然可以获取特定用户的 Facebook 个人资料 URL 例如通过accessToken 或者 Facebook 现在隐藏这些信息 在发生数据泄露事件之后
  • 为什么 imshow 的范围参数会翻转我的图像?

    import matplotlib pyplot as plt import numpy as np n 16 im np eye n fig plt figure ax fig add subplot 121 ax imshow im a
  • 为什么会调用 OnlyOnCanceled 延续?

    打电话时await RunAsync 在下面的代码中 我希望继续TaskContinuationOptions OnlyRanToCompletion继续运行 但是OnlyOnCanceled继续被调用 产生调试输出 任务已取消 Why p
  • 我可以使用 Homebrew 安装最新的 AWS EB CLI 吗?

    自制似乎正在安装 an 旧版本 不支持 of the AWS 电子银行工具 有没有办法让 Homebrew 安装当前的版本 我是自制软件的新手 Homebrew 依靠志愿者来更新配方 如果您发现过时的公式 请提交错误或拉取请求
  • jquery post codeigniter 验证

    我们使用 jquery 将表单 load 到 div 中 然后我们使用 jquery post 将该形式发送到 codeigniter 控制器 即 app post 然后我们希望 Codeigniter 执行验证 但不确定如何返回页面以显示
  • 为什么积压已满时 ServerSocket 连接不会被拒绝?

    无私的好奇心 在 Java 中 我监听一个套接字 积压为 1 ServerSocket ss new ServerSocket 4000 1 我在壳里跑 netcat localhost 4000 很多次 到目前为止 5 次 连接永远不会被
  • 如何检索必须在另一个线程上计算的值

    在许多情况下 线程 A 需要一个必须在线程 B 上计算的值 最常见的是 B EDT 考虑以下示例 String host SwingUtilities invokeAndWait new Runnable public void run h
  • 如何在 pyomo 中将积分定义为目标函数?

    我希望能够定义一个积分pyomo作为目标函数的一部分 我无法弄清楚积分需要什么样的表达式 这是我最好的猜测 model ConcreteModel model t ContinuousSet bounds 0 1 model y Var m
  • Java GIF 动画无法正确重画

    我正在尝试为 GIF 图像制作动画 动画可以 但画得不好 It shows like this non animated screenshot In the image the tail wags like this 正如您所看到的 图像重
  • 使用 WinPcap 获取原始 WiFi 数据包

    考虑简单的 C 代码发送单个原始数据包与WinPcap 与构建数据包标头相关的行以以下注释开头 假设在以太网上 将 mac 目标设置为 1 1 1 1 1 1 因此 您可能会猜测 为了发送原始 WiFi 数据包 您应该相应地更改此代码块 然
  • .java 文件中的包使类文件无法使用

    自从我上次做Java以来 已经太久了 我不记得为什么会发生以下情况 给定这个由标准 Maven 项目创建的文件 如下所示 Maven教程 package com mycompany app Hello world public class
  • 如何移动对话中的所有消息?

    我需要知道如何同时移动对话中的所有消息 我的宏当前显示为 Sub Archive Set ArchiveFolder Application GetNamespace MAPI GetDefaultFolder olFolderInbox
  • 如何扩展 KineticJS 形状

    对于 KineticJS 版本4 0 0或者更少的形状扩展了一个类并且可以通过以下方式扩展 var MyCircle Kinetic Circle extend init function config this super config
  • 尝试在 SSE 编程中使用 and 掩码添加 __m128

    我正在尝试使用比较操作的结果添加到 SSE 变量 我刚刚意识到 当使用 mm cmplt ps如果结果为真 则操作将返回 NAN 因为无法表示 0xffffffff 这对我来说没有用 m128 va m128 vb m128 result
  • .NET Core 3.1 始终加密

    使用 NET Core 3 1 和 SQL Always Encrypted 时出现以下错误 3 1支持这个吗 也许我在这里遗漏了一些东西 Keyword not supported column encryption setting 目前
  • 是否可以在 Android 中创建某种全局异常处理程序?

    我的应用程序包括一系列活动 用户必须以线性方式进行这些活动 假设这一系列活动如下所示 A 代表主菜单 B C D E 用户的操作过程如下 A gt B gt C gt D gt E 在这些活动中 用户必须输入数据或允许设备自动获取数据 例如