在片段内调用startActivityForResult()并不能在API 18上正常工作

时间:2015-11-18 11:10:10

标签: android android-fragments onactivityresult start-activity

我使用以下代码为片段内的结果启动活动。

Intent intent = new Intent(getActivity(), NextActivity.class);
startActivityForResult(intent, Constants.RequestCodes.UPDATE_TIMELINE);

正确的方法是,我的片段必须调用我指定的活动并将结果返回到onActivityResult()。这种方式在Android API 22中是正确的,但在API 18上,上面的代码改为启动活动并返回结果,首先使用null数据调用onActivityResult()然后启动活动!这太奇怪了!

注意:我正在使用构建工具v23.0.2

示例 AActivity具有AFragment,片段为结果启动BActivity。在API 22上一切正常,但在API 18上,片段首先触发其onActivityResult()方法,然后其父方法启动活动!这就是问题!

1 个答案:

答案 0 :(得分:0)

我发现了问题!从singleInstance活动无法启动结果的活动。解决方案是使用singleTop作为活动launchMode属性。