我使用以下代码为片段内的结果启动活动。
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()
方法,然后其父方法启动活动!这就是问题!
答案 0 :(得分:0)
我发现了问题!从singleInstance活动无法启动结果的活动。解决方案是使用singleTop作为活动launchMode属性。