Android:清除所有backstack活动,然后完成当前活动

前端之家收集整理的这篇文章主要介绍了Android:清除所有backstack活动,然后完成当前活动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序中有各种活动,流程非常复杂.
我想要做的是,只要连接usb设备,我想清除并完成后台堆栈活动,然后完成当前活动和System.exit(0)以关闭应用程序.

我已经实现了usb设备监听器.我想知道如何清除和完成堆栈活动(如果有的话,它不会每次都有任何后端堆栈活动)然后完成当前的活动.

此外,如果我的活动A在顶部,并且它在后堆栈中有2个活动(B,C).现在,如果活动A在后台运行并且USB连接,那么只有活动A会听到它吗? (我在每个活动中都实现了usb接收器.)

如果没有我的应用程序崩溃,我该如何实现

谢谢

解决方法

有完成当前活动和所有父活动的finishAffinity()方法,但它仅适用于 Android 4.1或更高版本

Source

@H_403_19@finishAffinity() will Finish this activity as well as all activities immediately below it in the current task that have the same affinity

如果您想要所有API级别
在你的一项活动中

Intent intent = new Intent(this,YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // this will clear all the stack
intent.putExtra("Exit me",true);
startActivity(intent);
finish();

然后在YourActivity onCreate()方法添加内容以完成Activity

setContentView(R.layout.your_layout);
if( getIntent().getBooleanExtra("Exit me",false)){
   finish();
   return; // add this to prevent from doing unnecessary stuffs
}
原文链接:https://www.f2er.com/android/309730.html

猜你在找的Android相关文章