0
中死亡(在最近的應用程序中滑動),如標題所述,我想知道是否有可能讓BroadcastReceiver知道應用程序是否被殺死。Android:檢查應用程序是否在接收器
我試圖做到了這一點與ActivityManager.RunningAppProcessInfo:
ActivityManager.RunningAppProcessInfo myProcess = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(myProcess);
boolean isInForeground = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
boolean isInBackground = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_GONE;
boolean cached = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_CACHED;
boolean perceptile = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_PERCEPTIBLE;
boolean sleeping = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_TOP_SLEEPING;
boolean service = myProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_SERVICE;
但沒有這些屬性可以告訴我,如果我的應用程序還活着,他們只能給我的提示。
通常我會用getRunningTask(我知道這是不建議使用):
ActivityManager manager = (ActivityManager) mActivity.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfo = manager.getRunningTasks(100);
for(int i = 0; i < runningTaskInfo.size(); i++) {
ComponentName componentInfo = runningTaskInfo.get(i).topActivity;
if(componentInfo.getPackageName().equals(packageName)){
return true;
}
}
但對於這個解決方案,我需要,我沒有一個活動,我不能創建(也許你有一個想法)?
所以我的問題:是否有可能知道你的應用程序是否被殺害?
感謝