如何判断当前界面是否属于某个apk,或具体到某个Activity

来源:互联网 发布:淘宝问卷调查报告 编辑:程序博客网 时间:2024/06/05 11:03

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进行某些操作时。

0 0