gpt4 book ai didi

android - finishActivity(int RequestCode)不起作用

转载 作者:太空狗 更新时间:2023-10-29 15:28:08 26 4
gpt4 key购买 nike

我正在尝试关闭从我自己的 Activity 中打开的 Activity 。我认为完成 Activity 是更好的方法,但它不起作用。这是我打开 Activity 的代码。 (与第三方包一起使用,这可能是问题所在?)

Intent calendar = new Intent();
calendar.setPackage("com.digibites.calendar");
if (calendar.resolveActivity(getPackageManager()) != null) {
startActivityForResult(calendar, REQUEST_CALENDAR);
CURRENT_ACTIVITY = REQUEST_CALENDAR;
}

启动后,我用这个关闭 Activity :

finishActivity(CURRENT_ACTIVITY);

当我开始 Activity 时,我调用第三方包来显示日历。当用户需要时,可以通过按下按钮关闭日历。 finishActivity 在按钮的方法中。如果我调用完成,请关闭我的应用程序 Activity ,而不是日历 Activity 。

最佳答案

finishActivity(...) 用于与您想象的不同的事情。它的意思是当你想从启动它的 Activity 中完成产生结果的 Activity 时。它违反直觉,但文档对此很清楚:

https://developer.android.com/reference/android/app/Activity#finishActivity(int)

在你的场景中你需要做的是:

只需在您调用结果的 Activity 中的 setResult(..., ...) 之后使用 finish()。

val intent = Intent()
intent.putExtras(yourResultsBundle)
setResult(Activity.RESULT_OK, intent)
finish()

关于android - finishActivity(int RequestCode)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37725029/

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