Android 点击关闭所有activity
2018-04-03 15:38
344 查看
有两种方式一种是用广播点击关闭所有打开activity,点击用广播关闭activity的例子网上比较多,在这里就不做介绍了。我是用一个list集合控制activity的,每当打开一个activity写的全局类,就记录一个,然后在最后把记录的activity, finis掉就行了。
[b]My_Aplication(要在清单文件的apllcation里面注册)[/b]
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));
}
}Bimport 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(在最终的方法里面,从list里面找到每一个打开过的activity,赋值给activity,然后在把activity关掉)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();
}
}activity别忘了注册。。。。。
[b]My_Aplication(要在清单文件的apllcation里面注册)[/b]
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(下面打开的Activity,都会通过全局类,记录到List集合里面)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));
}
}Bimport 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(在最终的方法里面,从list里面找到每一个打开过的activity,赋值给activity,然后在把activity关掉)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();
}
}activity别忘了注册。。。。。
相关文章推荐
- Android 点击关闭所有activity
- Android关闭应用中的所有Activity(三)
- Android关闭应用中的所有Activity(一)
- 关闭android程序里所有的activity
- 让Android点击通知栏信息后返回正在运行的程序,并完全退出所有activity
- Android开发_通过ExitManager关闭所有activity
- Android关闭应用中的所有Activity(三)
- Android关闭应用中的所有Activity(二)
- Android关闭应用中的所有Activity(一)
- Android-点击WebView中的按钮,关闭当前activity
- Android Activity使用Dialog样式导致点击空白处自动关闭的问题解决
- Android关闭应用中的所有Activity(二)
- 关闭所有Activity和连续点击两次返回键关闭程序的方法
- android实现退出时关闭所有activity
- Android开发,关闭所有activity的方法
- android中关闭所有activity方法
- android开发游记:关闭所有Activity安全退出应用的方法总结
- Android程序有很多Activity,在B中如何关闭整个Android应用程序,关闭所有的 Activity
- android 关闭所有的Activity
- Android实现退出时关闭所有Activity的方法