Android完全退出程序、线程
生活随笔
收集整理的這篇文章主要介紹了
Android完全退出程序、线程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、先添加權(quán)限
<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;/*** 應(yīng)用程序Activity管理類* @author liux*/ public class AppManager {private static Stack<Activity> activityStack;private static AppManager instance;private AppManager(){}/*** 單一實(shí)例*/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);}/*** 獲取當(dāng)前Activity(堆棧中最后一個(gè)壓入的)*/public Activity currentActivity(){Activity activity=activityStack.lastElement();return activity;}/*** 結(jié)束當(dāng)前Activity(堆棧中最后一個(gè)壓入的)*/public void finishActivity(){Activity activity=activityStack.lastElement();if(activity!=null){activity.finish();activity=null;}}/*** 結(jié)束指定的Activity*/public void finishActivity(Activity activity){if(activity!=null){activityStack.remove(activity);activity.finish();activity=null;}}/*** 結(jié)束指定類名的Activity*/public void finishActivity(Class<?> cls){for (Activity activity : activityStack) {if(activity.getClass().equals(cls) ){finishActivity(activity);}}}/*** 結(jié)束所有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();}/*** 退出應(yīng)用程序*/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)當(dāng)Activity啟動(dòng)時(shí),在onCreate中添加:AppManager.getAppManager().addActivity(this);
2)當(dāng)要退出Activity時(shí),使用:AppManager.getAppManager().AppExit(this);
總結(jié)
以上是生活随笔為你收集整理的Android完全退出程序、线程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高性能计算技术展望
- 下一篇: Android自动化测试之Robotiu