您的位置:首页 > 移动开发 > Android开发

Android 点击关闭所有activity

2017-11-13 19:09 417 查看
Android 点击关闭所有activity

1.有两种方式一种是用广播点击关闭所有打开activity,网上例子比较多,在这里就不做介绍了。我写的是一个list集合,每当打开一个activity写的全局类,就记录一个,然后在最后把记录的activity,   finis掉就行了。

My_Aplication

import android.app.Activity;
import android.app.Application;

import java.util.ArrayList;
import java.util.List;

public class My_Aplication extends Application{
public List<Activity> list;

@Override
public void onCreate() {
super.onCreate();
list=new ArrayList<Activity>();
}
public void dateActivity(Activity activity){
list.add(activity);
}
}

MainActivity

import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.List;

public class MainActivity extends AppCompatActivity {
private List<Activity> list;
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((My_Aplication)getApplicationContext()).dateActivity(MainActivity.this);
mBtn= (Button) findViewById(R.id.mBtn);
}

public void onClick(View view) {
startActivity(new Intent(MainActivity.this,B.class));
}
}

B

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class B extends Activity{
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b);
((My_Aplication)getApplicationContext()).dateActivity(B.this);
mBtn= (Button) findViewById(R.id.mBtn);
}

public void onClick(View view) {
startActivity(new Intent(B.this,C.class));
}
}

C

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.List;

public class C extends Activity{
private List<Activity> list;
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.c);
list=((My_Aplication)getApplicationContext()).list;
mBtn=(Button) findViewById(R.id.mBtn);
}

public void onClick(View view) {
for (int i=0;i<list.size();i++){
//记录打开的每个activity
Activity activity=list.get(i);
activity.finish();
}
finish();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: