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;
}
}
但对于这个解决方案,我需要,我没有一个活动,我不能创建(也许你有一个想法)?
所以我的问题:是否有可能知道你的应用程序是否被杀害?
感谢