Android 7.0判断栈顶Activity错误 几率显示为launcher

来源:互联网 发布:免费钢材销售软件 编辑:程序博客网 时间:2024/05/22 15:48
//Android 6.0的读取栈顶Activity的方法    private String getTopActivityInfo() {               ComponentName cn = null;        String classname = null;        ActivityManager mAm = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);        if (mAm.getRunningTasks(1) != null && mAm.getRunningTasks(1).get(0) != null) {            cn = mAm.getRunningTasks(1).get(0).topActivity;        }        if (cn != null) {            classname = cn.getClassName();            Log.d(TAG, "isAppTopActivity->Class Name:"                    + classname);            return classname;        } else {            return "";        }    }//Android 7.0后的读取栈顶Activity的方法    private String getTopActivityInfo() {        ActivityManager manager = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);        String topActivityName;        List<ActivityManager.RunningAppProcessInfo> pis = manager.getRunningAppProcesses();        ActivityManager.RunningAppProcessInfo topAppProcess = pis.get(0);        if (topAppProcess != null && topAppProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {            topActivityName = topAppProcess.processName;        }else{            topActivityName ="";        }        Log.v(TAG,"topActivityName is "+topActivityName);        return topActivityName;    }

如果在7.0使用6.0的判断方式,当从一个应用切换到另一个应用,有几率判断错误,判断为显示为桌面(launcher)

原创粉丝点击