1.判断是否属于Launcher apk
private boolean isShowLauncher() {
ActivityManager activityManager = (ActivityManager) this
.getSystemService(Context.ACTIVITY_SERVICE);List<RunningTaskInfo> list = activityManager.getRunningTasks(2);
if (list == null || list.size() <= 0) {
return false;
}
if (list.get(0).topActivity.getPackageName().equals(
"com.android.mslauncher")) {
return true;
}
return false;
}
2.如何判断某个apk中的某个activity 处于topActivity,即当前界面,可用如下接口。
private boolean isTopActivity(String className) {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName cn = manager.getRunningTasks(1).get(0).topActivity;
String topActivityName = cn.getClassName();
return topActivityName.equals(className);
}
3.这两种方法一般应用在:A:出现两个apk交互切换的时候,比如:出现上一个apk画面残余,要操作某些操作可以先判断。 B:在framework层就要对某个activity进行某些操作时。