Android完整退出应用程序完美解决方法
来源:互联网 发布:淘宝售假申诉流程 编辑:程序博客网 时间:2024/05/18 02:50
在开发中,一个应用如何干净彻底地退出Android应用程序,方法有非常多。如何干净地关闭所有已打开的Activity? 如何关闭指定的Activity? 如何关闭一类Activity? 这里,我们提出一种通过实现对Application的扩展,实现了一种高效管理Activity,实现Android干净彻底地退出应用程序。
public class MyApplication extends Application { private static Stack<Activity> activityStack; private static MyApplication singleton; @Override public void onCreate() { super.onCreate(); singleton=this; } // Returns the application instance public static MyApplication getInstance() { return singleton; } /** * add Activity 添加Activity到栈 */ public void addActivity(Activity activity){ if(activityStack ==null){ activityStack =new Stack<Activity>(); } activityStack.add(activity); } /** * get current Activity 获取当前Activity(栈中最后一个压入的) */ public Activity currentActivity() { Activity activity = activityStack.lastElement(); return activity; } /** * 结束当前Activity(栈中最后一个压入的) */ public void finishActivity() { Activity activity = activityStack.lastElement(); finishActivity(activity); } /** * 结束指定的Activity */ public void finishActivity(Activity activity) { if (activity != null) { activityStack.remove(activity); activity.finish(); activity = null; } } /** * 结束指定类名的Activity */ public void finishActivity(Class<?> cls) { for (Activity activity : activityStack) { if (activity.getClass().equals(cls)) { finishActivity(activity); } } } /** * 结束所有Activity */ public void finishAllActivity() { for (int i = 0, size = activityStack.size(); i < size; i++) { if (null != activityStack.get(i)) { activityStack.get(i).finish(); } } activityStack.clear(); } /** * 退出应用程序 */ public void AppExit() { try { finishAllActivity(); } catch (Exception e) { } }}
注意要在Manifest文件中修改一下Application中name的属性
使用方法推荐:
public class BaseActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //添加Activity到堆栈 MyApplication.getInstance().addActivity(this); } @Override protected void onDestroy(){ super.onDestroy(); //结束Activity&从栈中移除该Activity MyApplication.getInstance().finishActivity(this); } }
Android学习交流①群 152643026
0 0
- Android完整退出应用程序完美解决方法
- android 完美退出应用程序。
- android 完美退出应用程序。
- Android完美退出应用程序
- Android之完美退出应用程序的方法
- Android经典完美退出应用程序的方法
- [Activity生命周期] Android 完美退出应用程序
- Android中再按一次退出和完美退出整个应用程序
- android开发步步为营之7:完美退出应用程序
- 应用程序退出解决方法
- Android--完美退出应用
- android ctivity完美退出
- Android完美退出程序
- Android完美退出
- Android 完美退出 App
- Android退出应用程序,完全退出!
- android 退出应用程序
- Android完全退出应用程序
- Ajax实现跨域请求
- 网络协议的使用
- SQL数据库的升级过程—解决WMI服务无法链接过程
- LeetCode: Balanced Binary Tree
- wireshark抓包常用过滤规则
- Android完整退出应用程序完美解决方法
- 实习小结十二:Ajax的.get()函数使用实例
- Python中的字符串相关转换
- 三分钟学会在GitHub托管代码
- 【公告】C币系统升级,会议系统升级
- Tmux使用初体验
- unity中实现A*算法的一些问题
- rqnoj 389 心灵的抚慰 (floyd求解环的最小权值)
- HDU 1061 Rightmost Digit(快速幂)