Android Context Check isApplicationBroughtToBackground( final Context context)

Here you can find the source of isApplicationBroughtToBackground( final Context context)

Description

Checks if the application is in the background (i.e behind another application's Activity).

License

Apache License

Parameter

Parameter Description
context Context

Return

true if another application is above this one.

Declaration

public static boolean isApplicationBroughtToBackground(
        final Context context) 

Method Source Code

//package com.java2s;
/*// www . ja  v a 2s .co  m
 * (C) Copyright Itude Mobile B.V., The Netherlands
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.List;
import android.Manifest;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;

public class Main {
    /**
     * Checks if the application is in the background (i.e behind another application's Activity).
     *
     * @param context {@link Context}
     * @return true if another application is above this one.
     */
    public static boolean isApplicationBroughtToBackground(
            final Context context) {
        if (context
                .checkCallingOrSelfPermission(Manifest.permission.GET_TASKS) == PackageManager.PERMISSION_DENIED)
            return false;

        ActivityManager am = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningTaskInfo> tasks = am.getRunningTasks(1);
        if (!tasks.isEmpty()) {
            ComponentName topActivity = tasks.get(0).topActivity;
            if (!topActivity.getPackageName().equals(
                    context.getPackageName())
                    && !topActivity.getPackageName().equals(
                            "com.google.android.voicesearch")) {
                return true;
            }
        }

        return false;
    }
}

Related

  1. is3G(Context context)
  2. isAccessibilityEnabled(Context context, String id)
  3. isAppInstalled(Context context)
  4. isAppInstalled(Context context, String uri)
  5. isAppOnForeground(Context context)
  6. isApplicationBroughtToBackground( final Context context)
  7. isCallable(Context context, String url)
  8. isConnected(Context connext)
  9. isConnected(Context context)