我有一个片段F.从服务中获取结果后,F需要完成它所在的活动并在Web浏览器中启动一个页面,我使用意图。
如果用户按下后退按钮,它似乎工作正常。但是,如果他从最近的应用程序启动应用程序,则活动尚未完成。 我已经考虑过这样做了。就像完成当前活动并从父活动打开页面一样。但我必须在流程中做出很多改变。这将是我的最后选择。即使我从最近的应用程序启动活动,有没有办法确保活动完成?
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
getActivity().finish();
编辑:添加了代码。
答案 0 :(得分:6)
尝试使用此代码启动浏览器并清除应用程序的所有堆栈
Intent intent = new Intent(); // need to set your Intent View here
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
getActivity().startActivity(intent);
getActivity().finish();
<强>更新强>
在AndroidManifiest.xml文件中的活动中尝试此属性
<activity android:name=".MainActivity"
android:excludeFromRecents="true" ...
答案 1 :(得分:1)
使用以下代码
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
this.finish();