gpt4 book ai didi

android - Activity 上的 finish() 关闭应用程序,然后简要显示上一个应用程序

转载 作者:行者123 更新时间:2023-11-29 20:58:56 32 4
gpt4 key购买 nike

在我的应用程序中,Activity1 使用“startActivityForResult()”启动 Activity2。

当 Activity2 完成后,调用以下代码:

Activity2.java

private void finishActivity(final boolean accepted)
{
Intent returnIntent = new Intent();

setResult(accepted ? RESULT_OK : RESULT_CANCELED, returnIntent);

finish();
}

Activity1 收到这个回调,如果结果不是 RESULT_OK,它也结束。

Activity1.java

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == Globals.REQUEST_CODE_TOS)
{
if (resultCode != RESULT_OK)
finish();
}
}

Activity1 完成后,应用会按预期关闭。

问题——

但是,在我的应用程序关闭后,堆栈中的前一个应用程序短暂地向前启动,而不是转到主屏幕,然后也关闭了!然后我进入主屏幕。

在 Android bug tracker 中,我看到了一个类似的 bug,用于按下后退按钮的情况,我认为这与调用 finish() 相同:

https://code.google.com/p/android/issues/detail?id=71067

我在运行 4.4.4 的 Nexus 5 上看到了这一点。

这只是一个错误吗?或者是否有针对该行为的任何解决方法?

编辑——

澄清我想要的行为:

在 Google map 中,如果您拒绝 TOS 弹出窗口,该应用会关闭,您会直接转到主屏幕。一些以前打开的应用程序没有尴尬的闪光。

最佳答案

这绝对是与 one you linked in your question 相同的问题(我已经关注它几个月了,因为我自己也有一台 Nexus 5)。实际上是fixed in the AOSP ,但该特定修复程序似乎尚未进入 N5。我已经祈祷在 Lollipop 中进行修复,但我们会看到它何时推出。

至于解决方法,我认为目前不存在任何解决方法,尽管如果我错了,我很想知道 - 我自己开发了一个应用程序,它做类似的事情(手动调用 finish () 通过后退按钮关闭时堆栈中最底部的 Activity。

关于android - Activity 上的 finish() 关闭应用程序,然后简要显示上一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26785425/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com