我有 4 个活动,假设当我从 C>D>A 移动时活动“A”、“B”、“C”和“D”,当我从活动“A”按下设备后退按钮时,“C”变得可见对我来说,而不是从应用程序中存在。我怎样才能实现这一目标。
当您调用下一个活动时,您可以销毁您的活动。因此,Intent您可以调用finish()方法来销毁该活动。
检查这个
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)
当您使用此功能时,它不会转到上一个活动,而是会完成该活动。
或者
您也可以使用NO_HISTORY标志
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Run Code Online (Sandbox Code Playgroud)
在活动 A 中,您可以完成 onResume 中的所有活动,因为您需要将所有活动的 this 存储在静态变量中
活动B
public static B b;
oncreate(){
//...
b=this;
}
Run Code Online (Sandbox Code Playgroud)
对 C 和 D 以及 A 执行相同操作
onResume(){
clearAllTasks();
}
public void clearAllTasks(){
if(B.b!=null){
B.b.finish();
}
if(C.c!=null){
C.c.finish();
}
if(D.d!=null){
D.d.finish();
}
}
Run Code Online (Sandbox Code Playgroud)
明显地
<application>
<activity android:name="A"
android:noHistory="true">
</activity>
//...
</application>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5986 次 |
| 最近记录: |