我在清单中有一个用SearchActivity定义的android:launchMode="singleTop"。
我的SearchActivity包括用于用户输入查询的SearchView和显示搜索结果的ViewPager。
我为SearchActivity选择了单一顶部,这样就可以在活动中进行大量搜索,然后只需按一次后退按钮就可以返回主屏幕。
然而,我刚刚在活动中引入了一个"SmartSearch“按钮,当按下该按钮时,将触发一个自动高级搜索,其结果仍然显示在SearchActivity中。
然而,我的要求是,我需要这些高级搜索结果在堆栈上的一个新活动中显示--也就是说,当用户按下返回时,它们将被带到上一个(标准的)结果屏幕,然后必须再按下第二次才能返回主屏幕。
我读过这是关于发射方式和这个关于任务和后台堆栈,并且尝试用这样的意图启动“高级”SearchActivity .
smartSearchIntent.putExtra(SearchResultsActivity.QUERY_EXTRA_KEYS, selectionArgs);
smartSearchIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);...and我也尝试使用Intent.FLAG_ACTIVITY_NEW_TASK作为参数,但是当我按回高级搜索结果屏幕时,它只是直接跳回主屏幕。
一直以来,我在这个活动的清单中定义了android:launchMode="singleTop",因为这是“正常”行为--那么是否有可能覆盖它,如果可以的话,如何覆盖呢?
还是有更好的解决方案?
发布于 2014-11-25 11:14:53
我想出了解决办法/解决办法。我刚刚把我的答案发到了一个有相关问题的人,这里- https://stackoverflow.com/a/27125107/1617737。
https://stackoverflow.com/questions/27112705
复制相似问题