android任意地方退出app

2021-07-25 22:56:02 字數 1003 閱讀 6315

方法一:

建立乙個activity控制器

public classactivitycollector 

public static voidremoveactivity(activity activity)

public static voidfinishall()}}

}

在baseactivity中,

oncreate方法中呼叫

activitycollector.addactivity(this);
ondestroy方法中呼叫

activitycollector.removeactivity(this);
在需要退出應用的任意地方呼叫

activitycollector.finshall();

方法二:

movetasktoback()方法:

在activity中呼叫 

movetasktoback

(boolean

nonroot)方法即可將activity 退到後台,注意不是finish()退出。

引數說明:

引數為false——代表只有當前activity是task根,指應用啟動的第乙個activity時,才有效;

引數為true——則忽略這個限制,任何activity都可以有效。

說明:判斷activity是否是task根,activity本身給出了相關方法:

istaskroot()

movetasktoback呼叫後,task中activity的順序不會發生變化,例如a啟動b,b中呼叫此方法退到後台,重新啟動應用會呼叫b中的onrestart-onstart-onresume方法,不會重新呼叫oncreate,而且在b中按下back鍵返回的還是a,這就是退到後台的功能。

總結就是呼叫

android 開啟 關閉ap

public class apmanager catch throwable ignored return false 關閉wifi param context public static void closewifi context context 開啟熱點 param context param...

android 啟動退出

由於android的退出,系統真不好說,比如按home鍵或者是正常退出,又比如被系統殺掉。強制退出的方法網上挺多,但確實不太符合開發規範。比如 普通standardmode的activity之間,是會保持住棧之間的順序的。這個時候需要自己恢復資料。我認為程式啟動後,activity的方式可以如下 a...

android 滑動退出

view decorview int screenwidth 屏寬float startx,starty,endx,endy,distancex,distancey override public boolean dispatchtouchevent motionevent event 1.判斷手勢...