类android.app.ActivityManager.RunningAppProcessInfo源码实例Demo

下面列出了怎么用android.app.ActivityManager.RunningAppProcessInfo的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: android_9.0.0_r45   文件: FingerprintService.java
private boolean isForegroundActivity(int uid, int pid) {
    try {
        List<RunningAppProcessInfo> procs =
                ActivityManager.getService().getRunningAppProcesses();
        int N = procs.size();
        for (int i = 0; i < N; i++) {
            RunningAppProcessInfo proc = procs.get(i);
            if (proc.pid == pid && proc.uid == uid
                    && proc.importance <= IMPORTANCE_FOREGROUND_SERVICE) {
                return true;
            }
        }
    } catch (RemoteException e) {
        Slog.w(TAG, "am.getRunningAppProcesses() failed");
    }
    return false;
}
 
源代码2 项目: styT   文件: api_o.java
private void updateProcessInfo() {
    String mText = "";
    mTextView.setText(mText);

    // 获取ActivityManager
    ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);

    // 获取进程信息***************************************************
    List<RunningAppProcessInfo> infos = activityManager.getRunningAppProcesses();

    for (RunningAppProcessInfo info : infos) {
        String name = info.processName;
        int uid = info.uid;
        int pid = info.pid;

        mText = mTextView.getText().toString();
        mText += name + "\n\n";
        mTextView.setText(mText + " uid=" + uid + " pid=" + pid);

    }

}
 
源代码3 项目: styT   文件: Utils.java
/**
 * 判断进程是否运行
 * @return
 */
public static boolean isProessRunning(Context context, String proessName) {

	boolean isRunning = false;
	ActivityManager am = (ActivityManager) context
			.getSystemService(Context.ACTIVITY_SERVICE);

	List<RunningAppProcessInfo> lists = am.getRunningAppProcesses();
	for (RunningAppProcessInfo info : lists) {
		if (info.processName.equals(proessName)) {
			isRunning = true;
		}
	}

	return isRunning;
}
 
private boolean isApplicationInForeground() {
    ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> processInfos = activityManager.getRunningAppProcesses();
    if (processInfos != null) {
        for (RunningAppProcessInfo processInfo : processInfos) {
            if (processInfo.processName.equals(getApplication().getPackageName())) {
                if (processInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                    for (String d : processInfo.pkgList) {
                        return true;
                    }
                }
            }
        }
    }
    return false;
}
 
源代码5 项目: PowerFileExplorer   文件: ProcessFragment.java
public void toggleChecked(final boolean b) {
	if (b) {
		selectedInList1.clear();
		for (RunningAppProcessInfo r : display_process) {
			selectedInList1.add(r.processName);
		}
		if (selectedInList1.size() > 0 && commands.getVisibility() == View.GONE) {
			commands.setAnimation(AnimationUtils.loadAnimation(activity, R.anim.grow_from_bottom));
			commands.setVisibility(View.VISIBLE);
			horizontalDivider6.setVisibility(View.VISIBLE);
		}
	} else {
		selectedInList1.clear();
		if (commands.getVisibility() == View.VISIBLE) {
			horizontalDivider6.setVisibility(View.GONE);
			commands.setAnimation(AnimationUtils.loadAnimation(activity, R.anim.shrink_from_top));
			commands.setVisibility(View.GONE);
		}
	}
	notifyDataSetChanged();
}
 
源代码6 项目: Lay-s   文件: SystemTool.java
/**
 * 判断当前应用程序是否后台运行
 */
public static boolean isBackground(Context context) {
    ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> appProcesses = activityManager
            .getRunningAppProcesses();
    for (RunningAppProcessInfo appProcess : appProcesses) {
        if (appProcess.processName.equals(context.getPackageName())) {
            if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
                // 后台运行
                return true;
            } else {
                // 前台运行
                return false;
            }
        }
    }
    return false;
}
 
源代码7 项目: AssistantBySDK   文件: StopListennerActivity.java
private boolean isAppOnForeground() { 
    ActivityManager aManager=((ActivityManager)getSystemService(Context.ACTIVITY_SERVICE));
       List<RunningAppProcessInfo> appProcesses = aManager.getRunningAppProcesses(); 
       if (appProcesses == null) return false; 
       for (RunningAppProcessInfo appProcess : appProcesses) { 
           if (appProcess.processName.equals(getPackageName())){
           	    Log.e("StopListennerActivity", "appProcess.importance="+appProcess.importance);
           	   // inRunningTasks(aManager);
           	    if(appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { 
           			return true; 
           		}else{
           			return false;
           		}
           } 
       } 
       return false; 
}
 
源代码8 项目: letv   文件: PushNotificationReceiver.java
@SuppressLint({"NewApi"})
public static boolean isAppOnForeground(Context mContext) {
    ActivityManager activityManager = (ActivityManager) mContext.getSystemService("activity");
    String packageName = mContext.getPackageName();
    LogInfo.log("PushReceiver", "packageName =" + packageName);
    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    if (appProcesses == null) {
        LogInfo.log("PushReceiver", "------appProcesses == null-----");
        return false;
    }
    for (RunningAppProcessInfo appProcess : appProcesses) {
        LogInfo.log("PushReceiver", "------appProcess.processName =" + appProcess.processName);
        if (appProcess.processName.equals(packageName) && appProcess.importance == 100) {
            for (RunningTaskInfo rti : activityManager.getRunningTasks(100)) {
                if (!(rti == null || rti.baseActivity == null || mContext.getPackageName() == null || !mContext.getPackageName().equals(rti.baseActivity.getPackageName()) || VERSION.SDK_INT < 11)) {
                    activityManager.moveTaskToFront(rti.id, 1);
                }
            }
            return true;
        }
    }
    return false;
}
 
源代码9 项目: SmartChart   文件: AppUtils.java
/**
 * whether this process is named with processName
 *
 * @param context     上下文
 * @param processName 进程名
 * @return <ul>
 * return whether this process is named with processName
 * <li>if context is null, return false</li>
 * <li>if {@link ActivityManager#getRunningAppProcesses()} is null,
 * return false</li>
 * <li>if one process of
 * {@link ActivityManager#getRunningAppProcesses()} is equal to
 * processName, return true, otherwise return false</li>
 * </ul>
 */
public static boolean isNamedProcess(Context context, String processName) {
    if (context == null || TextUtils.isEmpty(processName)) {
        return false;
    }

    int pid = android.os.Process.myPid();
    ActivityManager manager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> processInfoList = manager
            .getRunningAppProcesses();
    if (processInfoList == null) {
        return true;
    }

    for (RunningAppProcessInfo processInfo : manager
            .getRunningAppProcesses()) {
        if (processInfo.pid == pid
                && processName.equalsIgnoreCase(processInfo.processName)) {
            return true;
        }
    }
    return false;
}
 
源代码10 项目: CC   文件: CCUtil.java
/**
 * 获取当前进程的名称
 * @return 进程名
 */
public static String getCurProcessName() {
    if (curProcessName != null) {
        return curProcessName;
    }
    Application application = CC.getApplication();
    if (application == null) {
        return PROCESS_UNKNOWN;
    }
    try {
        ActivityManager manager = (ActivityManager) application.getSystemService(Context.ACTIVITY_SERVICE);
        if (manager != null) {
            List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
            for (RunningAppProcessInfo appProcess : processes) {
                if (appProcess.pid == android.os.Process.myPid()) {
                    curProcessName = appProcess.processName;
                    return curProcessName;
                }
            }
        }
    } catch (Exception e){
        CCUtil.printStackTrace(e);
    }
    return PROCESS_UNKNOWN;
}
 
源代码11 项目: CC   文件: CCUtil.java
public static String[] getCurProcessPkgList() {
    Application application = CC.getApplication();
    if (application == null) {
        return null;
    }
    try {
        ActivityManager manager = (ActivityManager) application.getSystemService(Context.ACTIVITY_SERVICE);
        if (manager != null) {
            List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
            for (RunningAppProcessInfo appProcess : processes) {
                if (appProcess.pid == android.os.Process.myPid()) {
                    return appProcess.pkgList;
                }
            }
        }
    } catch (Exception e){
        CCUtil.printStackTrace(e);
    }
    return null;
}
 
源代码12 项目: fdroidclient   文件: FDroidApp.java
/**
 * Asks if the current process is "org.fdroid.fdroid:acra".
 * <p>
 * This is helpful for bailing out of the {@link FDroidApp#onCreate} method early, preventing
 * problems that arise from executing the code twice. This happens due to the `android:process`
 * statement in AndroidManifest.xml causes another process to be created to run
 * {@link org.fdroid.fdroid.acra.CrashReportActivity}. This was causing lots of things to be
 * started/run twice including {@link CleanCacheService} and {@link WifiStateChangeService}.
 * <p>
 * Note that it is not perfect, because some devices seem to not provide a list of running app
 * processes when asked. In such situations, F-Droid may regress to the behaviour where some
 * services may run twice and thus cause weirdness or slowness. However that is probably better
 * for end users than experiencing a deterministic crash every time F-Droid is started.
 */
private boolean isAcraProcess() {
    ActivityManager manager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
    if (processes == null) {
        return false;
    }

    int pid = android.os.Process.myPid();
    for (RunningAppProcessInfo processInfo : processes) {
        if (processInfo.pid == pid && ACRA_ID.equals(processInfo.processName)) {
            return true;
        }
    }

    return false;
}
 
源代码13 项目: gokit-android   文件: NetUtils.java
public static boolean isBackground(Context context) {
	ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
	List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
	for (RunningAppProcessInfo appProcess : appProcesses) {
		if (appProcess.processName.equals(context.getPackageName())) {
			/*
			 * BACKGROUND=400 EMPTY=500 FOREGROUND=100 GONE=1000
			 * PERCEPTIBLE=130 SERVICE=300 ISIBLE=200
			 */
			Log.i(context.getPackageName(), "此appimportace =" + appProcess.importance
					+ ",context.getClass().getName()=" + context.getClass().getName());
			if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
				Log.i(context.getPackageName(), "处于后台" + appProcess.processName);
				return true;
			} else {
				Log.i(context.getPackageName(), "处于前台" + appProcess.processName);
				return false;
			}
		}
	}
	return false;
}
 
源代码14 项目: springreplugin   文件: PluginProcessMain.java
private static final void waitKilled(int pid) {
    for (int i = 0; i < 10; i++) {
        try {
            Thread.sleep(100, 0);
        } catch (Throwable e) {
            //
        }
        //
        List<RunningAppProcessInfo> processes = AMSUtils.getRunningAppProcessesNoThrows(RePluginInternal.getAppContext());
        if (processes == null || processes.isEmpty()) {
            continue;
        }
        boolean found = false;
        for (RunningAppProcessInfo info : processes) {
            if (info.pid == pid) {
                found = true;
            }
        }
        if (!found) {
            return;
        }
    }
}
 
源代码15 项目: BigApp_Discuz_Android   文件: ServiceHelper.java
public boolean isAppOnForeground() {
    // Returns a list of application processes that are running on the
    // device
    String packageName = context.getPackageName();
    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    if (appProcesses == null)
        return false;
    for (RunningAppProcessInfo appProcess : appProcesses) {
        // importance:
        // The relative importance level that the system places
        // on this process.
        // May be one of IMPORTANCE_FOREGROUND, IMPORTANCE_VISIBLE,
        // IMPORTANCE_SERVICE, IMPORTANCE_BACKGROUND, or IMPORTANCE_EMPTY.
        // These constants are numbered so that "more important" values are
        // always smaller than "less important" values.
        // processName:
        // The name of the process that this object is associated with.
        if (appProcess.processName.equals(packageName) && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
            return true;
        }
    }
    return false;
}
 
源代码16 项目: GOpenSource_AppKit_Android_AS   文件: NetUtils.java
public static boolean isBackground(Context context) {
	ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
	List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
	for (RunningAppProcessInfo appProcess : appProcesses) {
		if (appProcess.processName.equals(context.getPackageName())) {
			/*
			 * BACKGROUND=400 EMPTY=500 FOREGROUND=100 GONE=1000
			 * PERCEPTIBLE=130 SERVICE=300 ISIBLE=200
			 */
			Log.i(context.getPackageName(), "此appimportace =" + appProcess.importance
					+ ",context.getClass().getName()=" + context.getClass().getName());
			if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
				Log.i(context.getPackageName(), "处于后台" + appProcess.processName);
				return true;
			} else {
				Log.i(context.getPackageName(), "处于前台" + appProcess.processName);
				return false;
			}
		}
	}
	return false;
}
 
源代码17 项目: mobile-manager-tool   文件: StorageUtil.java
public static void cleanMemory(Context context){
    System.out.println("---> 清理前可用内存:"+getAvailMemory(context)+"MB");
    ActivityManager activityManager=(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    List<ActivityManager.RunningAppProcessInfo> processList = activityManager.getRunningAppProcesses();

    if (processList != null) {
        for (int i = 0; i < processList.size(); ++i) {
            RunningAppProcessInfo runningAppProcessInfo= processList.get(i);
            // 一般数值大于RunningAppProcessInfo.IMPORTANCE_SERVICE
            // 的进程即为长时间未使用进程或者空进程
            // 一般数值大于RunningAppProcessInfo.IMPORTANCE_VISIBLE
            // 的进程都是非可见进程,即在后台运行
            if (runningAppProcessInfo.importance > RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
                String[] pkgList = runningAppProcessInfo.pkgList;
                for (int j = 0; j < pkgList.length; ++j) {
                    System.out.println("===> 正在清理:"+pkgList[j]);
                    activityManager.killBackgroundProcesses(pkgList[j]);
                }
            }

        }
    }
    System.out.println("---> 清理后可用内存:"+getAvailMemory(context)+"MB");
}
 
源代码18 项目: mytracks   文件: BigTestUtils.java
/**
 * Gets the memory usage of MyTracks process. This method would get the Pss
 * memory. Pss is the amount of memory shared with other processes, accounted
 * in a way that the amount is divided evenly between the processes that share
 * it. This is memory that would not be released if the process was
 * terminated, but is indicative of the amount that this process is
 * "contributing" to the overall memory load.
 * 
 * @param context
 */
public static String getMyTracksPssMemoryInfo(Context context) {
  int MyTracksProcessId = -1;
  ActivityManager activityManager = (ActivityManager) context
      .getSystemService(Activity.ACTIVITY_SERVICE);
  List<RunningAppProcessInfo> runningAppProcesses = activityManager.getRunningAppProcesses();

  for (RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {
    if (runningAppProcessInfo.processName.equalsIgnoreCase(MYTRACKS_PROCESS_NAME)) {
      MyTracksProcessId = runningAppProcessInfo.pid;
      break;
    }
  }
  if (MyTracksProcessId == -1) {
    Assert.fail();
  }
  int pids[] = { MyTracksProcessId };
  android.os.Debug.MemoryInfo[] memoryInfoArray = activityManager.getProcessMemoryInfo(pids);
  int memoryUsage = memoryInfoArray[0].getTotalPss();
  return String.format(Locale.US, " MyTracks TotalPss Memory: %d (kB) ", memoryUsage);
}
 
源代码19 项目: BaseProject   文件: PackageManagerUtil.java
/**
 * 程序是否在前台
 * @deprecated 注:如果对于APP启动后有常驻Service,也判断为了前台(也不准)
 * @param context
 */
@Deprecated
public static boolean isAppOnForeground(final Context context) {
    if (context == null) {
        return false;
    }
    Context appContext = context.getApplicationContext();
    ActivityManager activityManager = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE);
    if (activityManager == null) {
        return false;
    }
    String packageName = appContext.getPackageName();
    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    if (appProcesses != null) {
        for (RunningAppProcessInfo appProcess : appProcesses) {
            // The name of the process that this object is associated with.
            if (appProcess.processName.equals(packageName) && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                return true;
            }
        }
    }
    return false;
}
 
源代码20 项目: BaseProject   文件: PackageManagerUtil.java
/**
 * 获取进程的名称<br/>
 * 通过进程id在运行的栈中查找获取进程名称(包名+进程名)
 * 
 * @param context
 * @param pid
 * @return
 */
public static String getProcessNameByPid(Context context, final int pid) {
    String processName = null;
    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    if (activityManager == null) {
        return "";
    }
    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    if (appProcesses != null) {
        for (RunningAppProcessInfo appProcess : appProcesses) {
            if (pid == appProcess.pid) {
                processName = appProcess.processName;
                break;
            }
        }
    }
    CommonLog.d(TAG, "getProcessNameByPid,pid=", pid, ",processName=", processName);
    return processName;
}
 
源代码21 项目: BaseProject   文件: PackageManagerUtil.java
/**
 * 检查当前进程名是否是包含进程名的进程
 * 
 * @param context
 * @return
 */
public static boolean checkTheProcess(final Context context, String endProcessName) {
    ActivityManager activityManager = (ActivityManager) context.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
    int myPid = android.os.Process.myPid();
    if (activityManager == null) {
        return false;
    }
    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    if (appProcesses != null) {
        for (RunningAppProcessInfo appProcess : appProcesses) {
            if (myPid == appProcess.pid) {
                CommonLog.d(TAG, "process.pid appProcess.processName=" + appProcess.processName + ", endProcessName=" + endProcessName);
                if (appProcess.processName.endsWith(endProcessName)) {
                    return true;
                }
                break;
            }
        }
    }
    return false;
}
 
源代码22 项目: ZhihuDaily   文件: CheckUtil.java
/** APP is not runing true:false  */
public static boolean isBackground(Context context) {
       ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
       List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
       for (RunningAppProcessInfo appProcess : appProcesses) {
           //判断所有的app进程,报名是否等于该app
       	if (appProcess.processName.equals(context.getPackageName())) {
               if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                   return true; //"处于后台"
               } else {
                   return false;//"处于前台"
               }
           }
       }
       return false;
   }
 
源代码23 项目: VideoMeeting   文件: SystemUtils.java
/**
 * 判断当前应用程序是否后台运行
 */
public static boolean isBackground(Context context) {
    ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> appProcesses = activityManager
            .getRunningAppProcesses();
    for (RunningAppProcessInfo appProcess : appProcesses) {
        if (appProcess.processName.equals(context.getPackageName())) {
            if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
                // 后台运行
                return true;
            } else {
                // 前台运行
                return false;
            }
        }
    }
    return false;
}
 
源代码24 项目: batteryhub   文件: Process.java
/**
 * Populate running process info into the runningAppInfo WeakReference list
 * and return its value.
 *
 * @param context the Context
 * @return the value of the runningAppInfo WeakReference list after setting it.
 */
public static List<RunningAppProcessInfo> getRunningProcessInfo(Context context) {
    if (runningAppInfo != null && runningAppInfo.get() != null) {
        return runningAppInfo.get();
    }

    ActivityManager manager =
            (ActivityManager) context.getSystemService(Activity.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> runningAppProcesses = manager.getRunningAppProcesses();

    for (RunningAppProcessInfo info : runningAppProcesses) {
        if (info == null || info.processName == null) continue;
        info.processName = StringHelper.formatProcessName(info.processName);
    }

    runningAppInfo = new WeakReference<>(runningAppProcesses);
    return runningAppProcesses;
}
 
源代码25 项目: batteryhub   文件: Application.java
/**
 * Helper to query whether an application is currently running
 * and its code has not been evicted from memory.
 *
 * @param context Application's context
 * @param appName The package name or process name of the application.
 * @return true if the application is running, false otherwise.
 */
public static boolean isRunning(final Context context, String appName) {
    List<RunningAppProcessInfo> runningProcessInfo = Process.getRunningProcessInfo(context);
    List<RunningServiceInfo> services = Service.getRunningServiceInfo(context);

    for (RunningAppProcessInfo info : runningProcessInfo) {
        if (info.processName.equals(appName) &&
                info.importance != RunningAppProcessInfo.IMPORTANCE_EMPTY) {
            return true;
        }
    }

    for (RunningServiceInfo service : services) {
        String name = StringHelper.formatProcessName(service.process);
        if (name.equals(appName)) return true;
    }

    return false;
}
 
源代码26 项目: batteryhub   文件: StringHelper.java
public static String importanceStringLegacy(String description) {
    String importance;
    switch (description) {
        case "system" :
            importance = importanceString(RunningAppProcessInfo.IMPORTANCE_BACKGROUND);
            break;
        case "user" :
            importance = importanceString(Config.IMPORTANCE_APP);
            break;
        case "user-service" :
            importance = importanceString(RunningAppProcessInfo.IMPORTANCE_SERVICE);
            break;
        default :
            importance = "Unknown";
            break;
    }

    return importance;
}
 
源代码27 项目: Gizwits-SmartBuld_Android   文件: NetUtils.java
public static boolean isBackground(Context context) {
	ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
	List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
	for (RunningAppProcessInfo appProcess : appProcesses) {
		if (appProcess.processName.equals(context.getPackageName())) {
			/*
			 * BACKGROUND=400 EMPTY=500 FOREGROUND=100 GONE=1000
			 * PERCEPTIBLE=130 SERVICE=300 ISIBLE=200
			 */
			Log.i(context.getPackageName(), "此appimportace =" + appProcess.importance
					+ ",context.getClass().getName()=" + context.getClass().getName());
			if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
				Log.i(context.getPackageName(), "处于后台" + appProcess.processName);
				return true;
			} else {
				Log.i(context.getPackageName(), "处于前台" + appProcess.processName);
				return false;
			}
		}
	}
	return false;
}
 
源代码28 项目: 365browser   文件: ChromiumMultiDexInstaller.java
private static String getProcessName(Context context) {
    try {
        String currentProcessName = null;
        int pid = android.os.Process.myPid();

        ActivityManager manager =
                (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        for (RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
            if (processInfo.pid == pid) {
                currentProcessName = processInfo.processName;
                break;
            }
        }

        return currentProcessName;
    } catch (SecurityException ex) {
        return null;
    }
}
 
源代码29 项目: DroidPlugin   文件: PluginProcessManager.java
public static String getCurrentProcessName(Context context) {
    if (context == null)
        return sCurrentProcessName;

    synchronized (sGetCurrentProcessNameLock) {
        if (sCurrentProcessName == null) {
            ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            List<RunningAppProcessInfo> infos = activityManager.getRunningAppProcesses();
            if (infos == null)
                return null;

            for (RunningAppProcessInfo info : infos) {
                if (info.pid == android.os.Process.myPid()) {
                    sCurrentProcessName = info.processName;
                    return sCurrentProcessName;
                }
            }
        }
    }
    return sCurrentProcessName;
}
 
源代码30 项目: DroidPlugin   文件: MyActivityManagerService.java
private void doGc(RunningAppProcessInfo myInfo) {
    int activityCount = mRunningProcessList.getActivityCountByPid(myInfo.pid);
    int serviceCount = mRunningProcessList.getServiceCountByPid(myInfo.pid);
    int providerCount = mRunningProcessList.getProviderCountByPid(myInfo.pid);
    if (activityCount <= 0 && serviceCount <= 0 && providerCount <= 0) {
        //杀死空进程。
        Log.i(TAG, "doGc kill process(pid=%s,uid=%s processName=%s)", myInfo.pid, myInfo.uid, myInfo.processName);
        try {
            android.os.Process.killProcess(myInfo.pid);
        } catch (Throwable e) {
            Log.e(TAG, "error on killProcess", e);
        }
    } else if (activityCount <= 0 && serviceCount > 0 /*&& !mRunningProcessList.isPersistentApplication(myInfo.pid)*/) {
        List<String> names = mRunningProcessList.getStubServiceByPid(myInfo.pid);
        if (names != null && names.size() > 0) {
            for (String name : names) {
                Intent service = new Intent();
                service.setClassName(mHostContext.getPackageName(), name);
                AbstractServiceStub.startKillService(mHostContext, service);
                Log.i(TAG, "doGc kill process(pid=%s,uid=%s processName=%s) service=%s", myInfo.pid, myInfo.uid, myInfo.processName, service);
            }
        }
    }
}
 
 类所在包
 同包方法