接到电话后应用程序崩溃

2023-12-20

在我接到电话或拨打电话(以及其他未记录的中断)后,我的应用程序在恢复活动时收到 NullPointerException。任何人都可以向我解释它在哪里和/或如何修复它吗?当我的活动恢复时,它似乎正在调用 onCreate,并且它试图执行恢复后为空的内容。如何防止 onCreate() 被调用?

当我按下通话按钮时,我的活动似乎终止,因为当我尝试调试此错误时,调试器会断开连接。

EDIT:

那么,我该如何处理 进程被杀死 -> onCreate() ?我有活动A -> B -> C -> D,我一直按回A,没有问题。但是如果我启动另一个程序,或者另一个程序进入前台,D 崩溃,然后 C 崩溃,然后 B 崩溃,然后 A 崩溃!

EDIT:

我解决了 B、C、D 崩溃问题。这是因为我存储静态变量的类被销毁以释放资源,并且我的活动获取了空变量。

但是当我回到 A 时,我得到了一个 classCastException:

08-13 16:52:10.456: ERROR/AndroidRuntime(6048): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bookcessed.booksearch/com.bookcessed.booksearch.activities.ChooseProviderActivity}: java.lang.ClassCastException: android.view.AbsSavedState$1
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.os.Looper.loop(Looper.java:123)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread.main(ActivityThread.java:4627)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at java.lang.reflect.Method.invokeNative(Native Method)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at java.lang.reflect.Method.invoke(Method.java:521)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at dalvik.system.NativeStart.main(Native Method)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048): Caused by: java.lang.ClassCastException: android.view.AbsSavedState$1
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.widget.ProgressBar.onRestoreInstanceState(ProgressBar.java:944)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.view.View.dispatchRestoreInstanceState(View.java:6138)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1209)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1209)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.view.View.restoreHierarchyState(View.java:6117)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1466)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.Activity.onRestoreInstanceState(Activity.java:843)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.Activity.performRestoreInstanceState(Activity.java:815)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2641)
08-13 16:52:10.456: ERROR/AndroidRuntime(6048):     ... 11 more

这是我的 onCreate():

super.onCreate(savedInstanceState);
        tempLayout = new RelativeLayout(ChooseProviderActivity.this);
        ProgressBar tempProgress = new ProgressBar(ChooseProviderActivity.this);
        tempProgress.setIndeterminate(true);
        tempProgress.setId(1); //I suspect this is the problem
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        lp.addRule(RelativeLayout.CENTER_IN_PARENT);
        tempLayout.addView(tempProgress, lp);
        setContentView(tempLayout);

我认为问题就出在这里:

tempProgress.setId(1); //I suspect this is the problem

Check out this image to see how and when the os will call your app. alt text

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

接到电话后应用程序崩溃 的相关文章

随机推荐

  • 使用纯 sed 进行复杂的列转置

    我尝试了几个小时才找到pure sed questions tagged sed解决方案this https stackoverflow com q 17384781 2468910问题 显然 不幸的是我没有成功 一个非常棘手的问题 示例
  • 如何在 Excel 中对齐两列中的匹配值,并在其他列中引入关联值

    我想知道如何将一列中的值与另一列中的匹配值对齐 如下所示如何在 Excel 中对齐同一行上的重复项 https stackoverflow com questions 12836396 how to align duplicates on
  • 什么时候应该在 LLVM IR 中向结构添加填充?什么时候不应该?

    当向结构添加填充时 Clang 在不同情况下有不同的行为 规则是什么 对于下面的 C 代码 struct CT1 char c1 c double d1 char c2 struct CT2 char c1 double d1 char c
  • SWT 如何打印scrolledComposite 的内容?

    有谁知道如何打印滚动复合材料的内容 每当我打印到 GC 上时 它只会复制滚动复合材料的当前可视区域 我想要的是能够复制滚动复合的全部内容 例如 下面的代码在一个小窗口内创建了一个巨大的按钮 当我打印下面的 gc 时 它只会输出滚动复合的小可
  • 将新行追加到现有 csv 文件中[重复]

    这个问题在这里已经有答案了 我想将新行添加到系统中现有的 csv 文件中 下面是 MWE 首先 创建一个数据表并将其写入文件 date lt 2017 08 01 investPercent lt 20 expenses lt 20000
  • Java列表参数化?

    我对 Java 很陌生 我写了一个名为 DLPFile 的类 它基本上是其他对象的容器 如字符串 整数 浮点数等 将我的文件放入列表中 然后将其保存在我的会话 来自 Map 类 变量中时很容易 DLPFile file new DLPFil
  • 如何将 .jar 文件安装到 Eclipse 中?

    我已经编写了一个 Eclipse 插件项目并成功导出了 jar 文件 但是当我将 jar 文件复制到 Plugins 文件夹中 也尝试了 dropins 文件夹 并重新启动 Eclipse 后 我仍然无法在 Eclipse Installa
  • sqlalchemy:类型错误:创建实例的不可散列类型,sqlalchemy

    我在尝试更新代码时遇到错误 https github com thrisp flask security https github com thrisp flask security从Python 2 7到3 3 给出以下最基本的实例 te
  • ASCII 转换

    我想将 ASCII 值转换为其相应的字符 所以我编写了这个简单的代码 public class Test public static void main String args int i 0 char ch c for i 0 i lt
  • 如何使用 Symfony2 表单清除字段值

    我正在编写自己的验证码类 当表单未验证时 出于显而易见的原因 我不想用之前的答案预先填充验证码输入 我只想在渲染之前清除输入 我发现了data选项仅适用于默认值 默认值会被用户输入的内容覆盖 我尝试了以下代码 form gt get cap
  • 具有边界约束的 scipy.optimize.leastsq

    我正在寻找 scipy numpy 中的优化例程 它可以解决非线性最小二乘型问题 例如 将参数函数拟合到大型数据集 但包括边界和约束 例如参数的最小值和最大值 优化 目前我正在使用 mpfit 的 python 版本 翻译自 idl 这显然
  • Python:为变量重新赋值(使用函数)[重复]

    这个问题在这里已经有答案了 可能的重复 Python 如何通过引用传递变量 https stackoverflow com questions 986006 python how do i pass a variable by refere
  • Chrome 扩展:如何根据 Ajax 请求重新加载/重新执行内容脚本

    我正在尝试执行某个网站的内容脚本 插入按钮或更改链接 但是我想在用户浏览网站时执行此操作 问题在于网页是在用户浏览时通过 ajax 请求动态构建的 我之前在我编写的扩展中通过将 JavaScript 实际注入到网页中解决了这个问题 我想知道
  • 数据源不支持服务器端数据分页

    我的屏幕上有一个 GridView 需要它来允许分页 Markup
  • 如何在 Visual Studio 2008 中对代码进行排序(按方法名称)?

    除了剪切和粘贴之外 是否有办法在 Visual Studio 2008 中对类中的方法进行排序 我喜欢有序的代码 您可以使用 Visual Studio 2005 2008 扩展区域化 https marketplace visualstu
  • 如何设置UITabBar触摸区域

    我遇到过UITabBar触摸面积问题 上方额外的触摸区域 约 5 个像素 UITabBar被算作是UITabBar 放置在该区域的所有物体都将被阻挡并且UITabBar反而会做出反应 我发现有些人问了同样的问题 以下链接 但无法得到答案 有
  • 如何在 Spring / Tomcat 中完全禁用 JDBC 连接池?

    我正在使用 Spring Data Source bean 来配置 JDBC 连接 返回裸露的 非池化 非托管的 JDBC 连接的最简单方法是什么 我想你正在寻找org springframework jdbc datasource Sim
  • 什么时候在 ASP.NET MVC 中使用 ViewBag/ViewData 是“可接受的”?

    我意识到最佳实践是使用强类型视图并在 ViewModel 中传递所有需要的数据 但我很好奇是否在某些情况下在 ViewBag ViewData 中传递数据实际上被认为是 最佳实践 在什么情况下首选 ViewBag ViewData 将数据传
  • Rails 4:一起使用 MySql 和 MongoDB

    我正在尝试结合使用 MongoDB mongoid 和 MySQL 在 Rails 4 中创建一个应用程序 但我无法设置它 我正在按照以下步骤操作 rails new myapp d mysql 然后将这些行添加到 Gemfile 中 ge
  • 接到电话后应用程序崩溃

    在我接到电话或拨打电话 以及其他未记录的中断 后 我的应用程序在恢复活动时收到 NullPointerException 任何人都可以向我解释它在哪里和 或如何修复它吗 当我的活动恢复时 它似乎正在调用 onCreate 并且它试图执行恢复