1.如果我们的类中没有asynctask类或线程那么简单
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
编写此代码,可以轻松地从堆栈中删除所有活动
2.这也可以通过将启动器活动作为单个任务来完成,这可以通过清单文件中的更改来完成。 如
android:launchMode="singleTask"
但是如果我们的应用程序中有asynctask并且还使用了线程,那么上述两种方法都会失败。
为此,我们必须逐一完成活动
例如。 我们有四个活动A,B,C,D,每个类都有异步任务
我们必须从A – > B-> C-> D
从D我们再次回到* “A”并按下设备的后退按钮应用程序应该完成或可以说退出*
为此,我们必须制作所有类的活动的静态对象。 喜欢
**In class A** public static Avtivity mactivity; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); mactivity=this; }
在所有B,C类中都这样做
然后在D
通过按下按钮完成所有类的对象
** mButton.setOnClickListener(new OnClickListener(){
@Override public void onClick(View v) { B mB=new B(); mB.mactivity.finish(); //do this for all class which are present in stack of activities finish(); this will finish the D class and we reach at A class } });**
那解决了……
我知道它不是一种gud方式,但也不是一种糟糕的方式……主要的是它的工作:)