Android App退出检测
生活随笔
收集整理的這篇文章主要介紹了
Android App退出检测
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
app的退出檢測(cè)是很難的,但是獲取app“要退出”的狀態(tài)就容易多了,退出的瞬間并不是真的退出了,ActivityManager要銷毀activity,也需要一些時(shí)間和資源的。?
先見下面的運(yùn)行效果:?
gif做的比價(jià)粗啊,?
兩個(gè)activity的界面就不介紹了,主要是在APP啟動(dòng)的時(shí)候開啟一個(gè)服務(wù),application代碼如下:
service的代碼如下:
public class CheckExitService extends Service {private String packageName = "test.minwenping.com.appexitdemo";@Nullable@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onTaskRemoved(Intent rootIntent) {super.onTaskRemoved(rootIntent);Toast.makeText(CheckExitService.this, "App要退出了", Toast.LENGTH_SHORT).show();}//service異常停止的回調(diào) @Overridepublic int onStartCommand(Intent intent, int flags, int startId) {ActivityManager activtyManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activtyManager.getRunningAppProcesses();for (int i = 0; i < runningAppProcesses.size(); i++) {if (packageName.equals(runningAppProcesses.get(i).processName)) {Toast.makeText(this, "app還在運(yùn)行中", Toast.LENGTH_LONG).show();}}return START_NOT_STICKY;}@Overridepublic void onCreate() {super.onCreate();Toast.makeText(CheckExitService.this, "App檢測(cè)服務(wù)開啟了", Toast.LENGTH_SHORT).show();} }還有嘗試了守護(hù)線程,UI就只有一個(gè)線程,想從這方面下手,但是都失敗了
轉(zhuǎn)載于:https://www.cnblogs.com/zhujiabin/p/7560690.html
總結(jié)
以上是生活随笔為你收集整理的Android App退出检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用多级分组报表展现分类数据
- 下一篇: 背水一战 Windows 10 (30)