replace当前活动

我需要用新的replace当前的活动。 也就是说,我想开始一个新的活动,并从任务堆栈中删除当前活动。

根据文档,似乎最好的方法是按照惯例使用Activity.startActivity来开始活动,然后立即调用Activity.finish来closures当前活动。

这是这些API的有效用法,还是应该做其他的事情?

是。 这样使用api就可以了。

实现这一点的正确方法是使用以下内容:

Intent intent = new Intent(this,MyActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME); startActivity(intent); this.finish(); 

代码假定你在一个活动,否则如果你正在使用片段使用getActivity()

这样,活动就开始了,你可以正确地为后退button设置层次结构,并且还可以销毁相应的活动。

尝试在意向标志中使用FLAG_ACTIVITY_TASK_ON_HOMEFLAG_ACTIVITY_NEW_TASK

您可以在您的活动中添加android:launchMode =“singleInstance”,然后重写onNewIntent方法来更新date

参考ExoPlayer Demo中的PlayerActivity