gpt4 book ai didi

android - onActivityResult 不起作用?

转载 作者:IT王子 更新时间:2023-10-28 23:33:48 26 4
gpt4 key购买 nike

我正面临与 startActivityForResult() 相关的问题

从 FirstActivity 启动 SecondActivity :

Intent intent = new Intent();
intent.setClass(FirstActivity.this, SecondActivity.class);
intent.putExtra("key1", "12345");
startActivityForResult(intent, 0);

并处理结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//TODO handle here.
}

从 SecondActivity 向 FirstActivity 发送消息:

在 SecondActivity 中:

setResult(0);

我无法在 FirstActivity 中处理 onActivityResult 的结果。它从不适合我的应用程序。

我的操作系统是:1.5

这里有什么问题?

最佳答案

startActivityForResult 旨在用于您想要选择一段数据或执行您的 Activity 或应用程序无法执行的某种操作的情况。

例如,您想选择一个联系人,因此您启动联系人应用程序,用户选择他们想要的人,然后您会收到结果。或者您想拍照,因此您启动相机应用程序并要求它在完成后将照片发送给您。此操作与您调用 startActivityForResult 的第一个 Activity 完全分开。

Activity 完成之前,您正在启动的 Activity 不会向您发送结果,即调用 finish()

所以在你的情况下,你需要在 SecondActivity 中调用它:

setResult(...);
finish();

before FirstActivity 将在其onActivityResult 方法中接收结果。当然,这意味着 SecondActivity 现在消失了,FirstActivity 又回到了栈顶。


不可能将结果发送到 FirstActivity 然后关闭它同时保持 SecondActivity 仍处于 Activity 状态。在这种情况下,您应该只处理 SecondActivity 中的任何“结果”,或者将其发送到您定义的 Service 以执行您想要的任何处理。

关于android - onActivityResult 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1984233/

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