完成当前活动并开始一个新活动

时间:2013-01-15 06:47:15

标签: android

我有一个片段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();

编辑:添加了代码。

2 个答案:

答案 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();