我有一个有两个活动的应用程序
现在我开始Activity1
并转移到Activity2
现在我想暂时关闭应用程序
finish()
,我只能关闭Activity2
而不能关闭Activity1
Intent intent = new Intent(getActivity(), SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
getActivity().finish();
我想做什么 ::
{{1}}
答案 0 :(得分:0)
当您按照以下方式调用时,需要使用Activity2
将Flag
作为“首要任务”:
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
请参阅Reference:
如果在传递给 Context.startActivity()的Intent中设置,则此标志将导致在活动开始之前清除与活动关联的任何现有任务。也就是说,活动成为其他空任务的新根,并且任何旧活动都已完成。
然后,在finish()
中致电Activity2
。这应该可以解决问题。
答案 1 :(得分:0)
有一种方法可以终止您的申请流程,但不建议
this.finish();
Process.killProcess(Process.myPid());
这将终止您的应用程序并释放与其关联的所有内存。
注意:假设您的应用具有单个进程ID
答案 2 :(得分:0)
这样做
Intent intent = new Intent(Activity1.this, Activity2.class);
startActivity(intent);
Activity1.this.finish();
答案 3 :(得分:0)
Intent intObj=new Intent(this, Homescree.class);
intObj.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intObj);