[Android设计模式]Android退出应用程序终极方法
16lz
2022-04-01
原文
1.自定义Application管理Activity
public class DoomApplication extends Application {private static DoomApplication instance;private Stack<Activity> actStack = new Stack<Activity>();@Overridepublic void onCreate() {super.onCreate();instance = this;}public static DoomApplication getInstance() {return instance;}// 增加一个Activitypublic void addActivity(Activity activity) {actStack.addElement(activity);}// 得到当前Activitypublic Activity getCurrentActivity() {if (actStack.isEmpty()) {return null;} else {return actStack.lastElement();}}// 结束当前Activitypublic void finishCurrentActiviy() {if (actStack.isEmpty()) {return;}finishActivity(actStack.lastElement());}// 结束指定Activitypublic void finishActivity(Activity activity) {if (activity != null) {actStack.remove(activity);activity.finish();}}// 结束指定类名Activitypublic void finishActivity(Class<?> cls) {Activity finishAct = null;for (Activity findAct : actStack) {if (findAct.getClass().equals(cls)) {finishAct = findAct;break;}}finishActivity(finishAct);}// 程序退出public void AppExit() {for (Activity findAct : actStack) {findAct.finish();}actStack.clear();}}
2. 定义一个BaseActiviy类,每次创建,则加入application的栈中
public abstract class BaseActivty extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);DoomApplication.getInstance().addActivity(BaseActivty.this);}}
3.AndroidManifest.xml设置:
-<application android:name="com.example.applicationcompleteexitdemo.DoomApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher"
更多相关文章
- Android之关于Intent的Flag属性的讲解
- android 9.0 开机连接指定wifi
- Android(安卓)发送通知
- Android跳转intent简单教程
- Appium:Android(安卓)- 等待activity出现(wait_activity)
- Android跳转intent简单教程
- Android(安卓)密度转换多分辨率
- android 获得当前活动的Acticity
- android svg