1. 程式人生 > >Android 判斷某個Activity 是否在前臺執行

Android 判斷某個Activity 是否在前臺執行

    /**
     * 判斷某個介面是否在前臺
     *
     * @param context   Context
     * @param className 介面的類名
     * @return 是否在前臺顯示
     */
    public static boolean isForeground(Context context, String className) {
        if (context == null || TextUtils.isEmpty(className))
            return false;
        ActivityManager am = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1);
//        boolean flag=false;
        for (ActivityManager.RunningTaskInfo taskInfo : list) {
            if (taskInfo.topActivity.getShortClassName().contains(className)) { // 說明它已經啟動了
//                flag = true;
                return true;
            }
        }
        return false;
    }
        if(TCPHandle.isForeground(HomeActivity.this,"EvaluateForHandActivity")||TCPHandle.isForeground(HomeActivity.this,"EvaluateActivity"))
        {
            return;
        }