gpt4 book ai didi

Android,结果的startActivity产生奇怪的流程

转载 作者:行者123 更新时间:2023-11-30 00:58:57 25 4
gpt4 key购买 nike

我想知道在下面的案例 + FIX 中发生了什么。

调用后不知何故
fragment.startActivityForResult -> 代码首先到达 onActivityResult(在 fragment 上,结果 0=CANCELED),然后进入第二个 Activity。
如果我使用 getActivity().startActivityForResult 也一样。我用调试器检查过。在我从第二个 Activity 响应后,代码将不会到达 onActivityResult(就像它被“消耗”了吗?)

我正在构建一个 Launcher 应用程序,我的 Activity 在 Manifest 中有一些废话,但不要认为它来自那里。

<activity android:name=".ui.home.HomeActivity"
android:launchMode="singleTask"
android:stateNotNeeded="true"
android:screenOrientation="portrait"
android:excludeFromRecents="true"/>

<activity android:name=".ui.apps.AppsActivity"
android:launchMode="singleTask"
android:stateNotNeeded="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"/>

这就是我创建 Intent 的方式

intent = new Intent(getActivity(), AppsActivity.class);
intent.putExtra(AppsActivity.KEY_PICK_APP, true);
getActivity().startActivityForResult(intent,BottomShortcutsFragment.REQUEST_CODE_PICK_APP);

我是这样回答的

Intent intent = new Intent();
intent.putExtra(KEY_SELECTED_APP, packageName);
setResult(Activity.RESULT_OK, intent);
finish();

更新#1它来自 list ,如果我从第二个 Activity 中删除 android:launchMode="singleTask"

<activity
android:name=".ui.apps.AppsActivity"
android:screenOrientation="portrait"
android:stateNotNeeded="true"
android:windowSoftInputMode="stateHidden" />

最佳答案

我假设您在 fragment 中调用 startActivityForResult()。在您的代码中,结果将返回到 Activity,而不是 fragment 。

所以,尝试这样使用:

intent = new Intent(getActivity(), AppsActivity.class);
intent.putExtra(AppsActivity.KEY_PICK_APP, true);
startActivityForResult(intent,BottomShortcutsFragment.REQUEST_CODE_PICK_APP);

关于Android,结果的startActivity产生奇怪的流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39732797/

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