Android onActivityResult未从其他应用调用

Android onActivityResult未从其他应用调用,android,android-fragments,onactivityresult,startactivityforresult,Android,Android Fragments,Onactivityresult,Startactivityforresult,我想从其他应用程序启动一个应用程序,并将结果返回给调用应用程序 我使用以下代码从片段启动其他应用程序的活动 Intent intent = new Intent(Intent.ACTION_VIEW); intent.putExtra(Constants.KEY_SHOULD_DISPLAY_IMPORT_PROFILE_POPUP, true); intent.setComponent(new ComponentName(oldAppPackageName, "com.activities.M

我想从其他应用程序启动一个应用程序,并将结果返回给调用应用程序

我使用以下代码从片段启动其他应用程序的活动

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(Constants.KEY_SHOULD_DISPLAY_IMPORT_PROFILE_POPUP, true);
intent.setComponent(new ComponentName(oldAppPackageName, "com.activities.MainActivity"));
startActivityForResult(intent, IMPORT_PROFILE_PERMISSION);
并在片段中使用以下代码来设置结果

        Bundle bundle = new Bundle();
        bundle.putSerializable(Constants.KEY_USER_PROFILE, AccountManager.getInstance().getUserProfile());
        bundle.putBoolean(Constants.KEY_IS_FROM_OLD_APP, true)

        Intent intent = new Intent();
        intent.putExtra(Constants.KEY_USER_PROFILE_OBJECT, bundle);
        getActivity().setResult(IMPORT_PROFILE_PERMISSION, intent);
        getActivity().finish();
但未调用onActivityResult()方法


任何帮助都将不胜感激。

两个应用程序使用不同的任务堆栈,因此在您的片段中,您可以使用startActivity()返回调用应用程序
setResult()
中的第一个参数应该是
Activity.RESULT\u OK
,而不是请求代码。onActivityResult()可能返回到主机Activity onActivityResult()方法,但不是在片段中,只是检查一下it@MikeM. 它也可以是
RESULT\u FIRST\u USER
RESULT\u FIRST\u USER
+1等,因为
RESULT\u FIRST\u USER
是1,所以任何正值都是1valid@pskink是的,我猜我读了一半他们的问题,并假设他们正在检查
onActivityResult()
中的
RESULT\u OK
,这就是为什么他们认为它没有运行。