【问题标题】:When I return back to my Activity onCreate is raised instead of onActivityResult?当我返回到我的活动时,会引发 onCreate 而不是 onActivityResult?
【发布时间】:2013-01-07 12:09:25
【问题描述】:

我有一个 Activity,它会打开一个新的 Activity,结果如下:

Intent i = new Intent(ActDocument.this, ActCustomers.class);
startActivityForResult(i, ActDocument.DIALOG_CUSTOMER);

当我按下子 Activity 并返回父 Activity 时,onActivityResult 在所有设备中都被正确调用,但我发现一个设备调用 onCreate 而不是 onActivityResult

此设备是三星 Galaxy Tab-P5100 Android 4.0.3。奇怪的是,我在三星 Galaxy Tab-P5100 Android 4.0.3 的其他设备上测试了我的应用程序,一切正常,但我只有在这台设备上遇到问题。

为什么?我该如何解决?

更新

我注意到在此设备上打开子 Activity 后调用父 Activity 的 onDestroy()

【问题讨论】:

    标签: android back oncreate start-activity


    【解决方案1】:

    大多数情况下,后退按钮将完成活动,除非您明确覆盖

    OnBackPressed()

    我认为您的问题是缺乏资源,或者您可能有一些开发人员选项,例如 kill activty 标志或限制后台进程检查这个。

    更新

    转到设置-> 未选中开发者选项不要将活动和后台进程限制设置为标准限制。

    【讨论】:

    • 如何查看?为什么除了设备以外的所有设备都可以?
    • 我注意到在此设备上打开子 Activity 后调用父 Activity 的 onDestroy()
    • 转到设置-> 开发人员选项未选中不要将活动和后台进程限制设置为标准限制
    • 是的..非常感谢!!这也解决了我的问题!!!但是我们如何检测用户是否在他/她的设备中选中了这个选项??
    【解决方案2】:

    也许back 按钮没有完成活动。所以,覆盖onBackPressed

    【讨论】:

    • 我测试过。没有任何改变:(
    • @breceivemail 抱歉。我误读了你的代码。我更新了我的答案。
    • 我正在这样做。我覆盖 onBackPressed。我认为这与我的问题无关
    • 嗯。只有一台设备。也许有一些内存问题。设备是否运行了很多其他应用程序?
    • 我唯一能想到的是,Android 在ActCustomers 活动中以任何原因杀死了ActDocument 活动。除此之外,不知道为什么它不起作用。
    猜你喜欢
    • 2018-06-14
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    相关资源
    最近更新 更多