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(); } }