Android中实现一键退出应用程序
2017-03-14 23:54
302 查看
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/62104900
在MainActivity,SecondActivity等Activity中将Activity添加进集合中(可以将exitActivity()方法抽取到BaseActivity中,在Demo中我抽取到BaseActivity中了)
在SecondActivity中和此MainActivity中的代码相同。
在有退出按钮的ThirdActivity中,实现点击按钮应用退出操作
Demo下载应移步:http://download.csdn.net/detail/zxc514257857/9830675
———-因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!———-
思路
将所有的activity添加到list集合中,通过点击事件对list集合中的activity进行遍历退出,最后应用退出。Demo图片展示
实现
创建一个ExitApplication类 对所有Activity的退出进行管理public class ExitApplication extends Application{ private List<Activity> activityList = new ArrayList<>(); private static ExitApplication instance; public ExitApplication(){} public static ExitApplication getInstance(){ if(null == instance){ instance = new ExitApplication(); } return instance; } //添加Activity到容器中 public void addActivity(Activity activity){ //Log.i("activity", "size:" + activityList.size()); //Log.i("activity", "name:" + activity.getIntent()); activityList.add(activity); } //遍历所有Activity并finish public void exit(){ for(Activity activity : activityList){ //依次关闭 activity.finish(); //Log.i("activity", "del_size:" + activityList.size()); //Log.i("activity", "del_name:" + activity.getIntent()); } //强制退出 System.exit(0); } }
在MainActivity,SecondActivity等Activity中将Activity添加进集合中(可以将exitActivity()方法抽取到BaseActivity中,在Demo中我抽取到BaseActivity中了)
public class MainActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); exitActivity(); } private void initView() { //此处均为findViewById操作,跟主题无关,代码省略 } private void initData() { //跟主题无关,代码省略 } //退出此Acitvity private void exitActivity() { ExitApplication.getInstance().addActivity(MainActivity.this); } }
在SecondActivity中和此MainActivity中的代码相同。
在有退出按钮的ThirdActivity中,实现点击按钮应用退出操作
public class ThirdActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); initView(); initData(); exitActivity(); } private void initView() { //此处均为findViewById操作,跟主题无关,代码省略 } private void initData() { //跟主题无关,代码省略 } //退出此Acitvity private void exitActivity() { ExitApplication.getInstance().addActivity(ThirdActivity.this); } //点击按钮退出应用程序 在此按钮属性中设置了onClick = logout public void logout(View view){ ExitApplication.getInstance().exit(); } }
Demo下载应移步:http://download.csdn.net/detail/zxc514257857/9830675
———-因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!———-
相关文章推荐
- android 完全退出应用程序实现代码
- Android实现点击两次返回键退出应用程序
- Android 小技巧: 这里涵盖了所有实现 “一键退出 App” 的方法
- android 应用程序退出代码实现
- Android中的一键退出功能实现
- Android 实现再按一次后退键退出应用程序
- Android使用单例模式实现退出应用程序
- Android 退出应用程序的实现方法
- Android 关于长按back键退出应用程序的实现
- android 实现完全退出应用程序的代码
- Android实现退出整个应用程序代码;
- Android中如何实现一键退出
- Android学习-使用单例模式实现一键退出APP
- Android中一键退出程序的实现
- Android-连续按两次返回键实现应用程序退出
- Android 实现双击退出应用程序
- Android实现长按back键退出应用程序的方法
- Android中的一键退出功能实现
- Android学习-使用单例模式实现一键退出APP
- Android 关于长按back键退出应用程序的实现