Android完全退出程序、线程
生活随笔
收集整理的這篇文章主要介紹了
Android完全退出程序、线程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、先添加權限
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
2、添加Activity管理類
package net.oschina.app;import java.util.Stack;import android.app.Activity; import android.app.ActivityManager; import android.content.Context;/*** 應用程序Activity管理類* @author liux*/ public class AppManager {private static Stack<Activity> activityStack;private static AppManager instance;private AppManager(){}/*** 單一實例*/public static AppManager getAppManager(){if(instance==null){instance=new AppManager();}return instance;}/*** 添加Activity到堆棧*/public void addActivity(Activity activity){if(activityStack==null){activityStack=new Stack<Activity>();}activityStack.add(activity);}/*** 獲取當前Activity(堆棧中最后一個壓入的)*/public Activity currentActivity(){Activity activity=activityStack.lastElement();return activity;}/*** 結束當前Activity(堆棧中最后一個壓入的)*/public void finishActivity(){Activity activity=activityStack.lastElement();if(activity!=null){activity.finish();activity=null;}}/*** 結束指定的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(Context context) {try {finishAllActivity();ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);activityMgr.restartPackage(context.getPackageName());System.exit(0);} catch (Exception e) { }} }3、使用AppManager類
1)當Activity啟動時,在onCreate中添加:AppManager.getAppManager().addActivity(this);
2)當要退出Activity時,使用:AppManager.getAppManager().AppExit(this);
總結
以上是生活随笔為你收集整理的Android完全退出程序、线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高性能计算技术展望
- 下一篇: Linux下MySQL5.6的修改字符集