現在のActivityがスタックトップにあるかどうかを判断

1707 ワード

lockAppNameはActivityのフルネーム(パッケージ名を含む)を判断する必要がある.
private boolean getTopApp(Context mContext) {
        String lockAppName = "com.celltick.lockscreen.LockerActivity";
        String topActivityName = "";
        ActivityManager am = (ActivityManager) mContext
                .getSystemService(Context.ACTIVITY_SERVICE);
        List runningTasks = am
                .getRunningTasks(1);
        if (runningTasks != null && !runningTasks.isEmpty()) {
            ActivityManager.RunningTaskInfo taskInfo = runningTasks.get(0);
            topActivityName = taskInfo.topActivity.getClassName();
        }
        if (lockAppName.equals(topActivityName)) {
            return true;
        }
        return false;
    }

 
転載先:https://www.cnblogs.com/androidsj/p/6837096.html