Java 类android.app.ActivityManager.RunningTaskInfo 实例源码

项目: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;
}
项目:Hotspot-master-devp    文件:AppUtils.java   
/**
 *  判断当前应用是否是顶栈
 * @param context
 * @return
 */
public static boolean isAppOnForeground(Context context){
    PackageInfo info = null;
    try{
    info=context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
    String curPackage=info.packageName;
    ActivityManager mActivityManager = ((ActivityManager) context.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE));
    List<RunningTaskInfo> tasksInfo = mActivityManager.getRunningTasks(1);
    if(tasksInfo!=null && tasksInfo.size()>0){
        if (!TextUtils.isEmpty(curPackage) && curPackage.equals(tasksInfo.get(0).topActivity.getPackageName())) {
            /**当前应用是顶栈*/
            return true;
        } 

    }
    }catch(Exception ex){
        LogUtils.e(ex.toString());
    }
    return false;
}
项目:LucaHome-AndroidApplication    文件:AndroidSystemController.java   
public boolean IsBaseActivityRunningPreAPI23() {
    ActivityManager activityManager = (ActivityManager) _context.getSystemService(Context.ACTIVITY_SERVICE);

    if (activityManager == null) {
        Logger.getInstance().Error(TAG, "ActivityManager is null!");
        return false;
    }

    List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);

    for (RunningTaskInfo task : tasks) {
        if (_context.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName())) {
            return true;
        }
    }

    return false;
}
项目:CorePatch    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 *
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 * stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || packageName == null || packageName.length() == 0) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (tasksInfo == null || tasksInfo.size() == 0) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:letv    文件:PushActivity.java   
public final void b() {
    try {
        ActivityManager activityManager = (ActivityManager) getSystemService(z[19]);
        ComponentName componentName = ((RunningTaskInfo) activityManager.getRunningTasks(1).get(0)).baseActivity;
        ComponentName componentName2 = ((RunningTaskInfo) activityManager.getRunningTasks(1).get(0)).topActivity;
        new StringBuilder(z[17]).append(componentName.toString());
        z.b();
        new StringBuilder(z[18]).append(componentName2.toString());
        z.b();
        if (!(componentName == null || componentName2 == null || !componentName2.toString().equals(componentName.toString()))) {
            c();
        }
    } catch (Exception e) {
        c();
    }
    finish();
}
项目:amap    文件:AppPackageUtil.java   
/**
 * <一句话功能简述> 获取最上面活跃的Activity
 * 
 * @Description<功能详细描述>
 * 
 * @param context
 * @return
 * @LastModifiedDate:2015-9-6
 * @author rqj
 * @EditHistory:<修改内容><修改人>
 */
public static String getAppTopActivityName(Context context) {
    String packageName = context.getPackageName();
    ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> runningTaskInfos = activityManager
            .getRunningTasks(256);
    for (RunningTaskInfo info : runningTaskInfos) {
        System.out.println(info.topActivity.getPackageName() + "   "
                + info.topActivity.getClassName());
        if (packageName != null
                && info.topActivity.getPackageName() != null
                && packageName.equals(info.topActivity.getPackageName())) {
            return info.topActivity.getClassName();
        }
    }
    return null;
}
项目:amap    文件:AppPackageUtil.java   
/**
 * <一句话功能简述> 判断Activity是否已经退到后台
 * 
 * @Description<功能详细描述>
 * 
 * @param context
 * @return
 * @LastModifiedDate:2015-9-6
 * @author rqj
 * @EditHistory:<修改内容><修改人>
 */
public static boolean isBackground(Context context) {
    // 判断前提,已经不在前台
    String packageName = context.getPackageName();
    ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> runningTaskInfos = activityManager
            .getRunningTasks(100);
    for (RunningTaskInfo info : runningTaskInfos) {
        if (packageName != null
                && info.topActivity.getPackageName() != null
                && packageName.equals(info.topActivity.getPackageName())) {
            return true;
        }
    }
    return false;
}
项目:boohee_v5.6    文件:DeviceHelper.java   
public String getTopTaskPackageName() {
    boolean checkPermission;
    try {
        checkPermission = checkPermission("android.permission.GET_TASKS");
    } catch (Throwable th) {
        Ln.w(th);
        checkPermission = false;
    }
    if (checkPermission) {
        try {
            ActivityManager activityManager = (ActivityManager) getSystemService(ModelName
                    .ACTIVITY);
            return activityManager == null ? null : ((RunningTaskInfo) activityManager
                    .getRunningTasks(1).get(0)).topActivity.getPackageName();
        } catch (Throwable th2) {
            Ln.w(th2);
        }
    }
    return null;
}
项目:boohee_v5.6    文件:TrackAgent.java   
private boolean isAppExit() {
    if (MWConfiguration.getContext() == null) {
        return true;
    }
    String packageName = MWConfiguration.getContext().getPackageName();
    if (o.a(MWConfiguration.getContext(), "android.permission.GET_TASKS")) {
        ActivityManager activityManager = (ActivityManager) MWConfiguration.getContext()
                .getSystemService(ModelName.ACTIVITY);
        if (activityManager != null && l.b(activityManager.getRunningTasks(1)) &&
                activityManager.getRunningTasks(1).get(0) != null && ((RunningTaskInfo)
                activityManager.getRunningTasks(1).get(0)).topActivity != null) {
            return !packageName.equals(((RunningTaskInfo) activityManager.getRunningTasks(1)
                    .get(0)).topActivity.getPackageName());
        } else if (isAppOnForeground()) {
            return false;
        } else {
            return true;
        }
    } else if (isAppOnForeground()) {
        return false;
    } else {
        return true;
    }
}
项目:yaacc-code    文件:MultiContentPlayer.java   
private void discoverStartedActivityPid() {

        ActivityManager activityManager = (ActivityManager) getContext()
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningTaskInfo> services = activityManager
                .getRunningTasks(Integer.MAX_VALUE);
        List<RunningAppProcessInfo> apps = activityManager
                .getRunningAppProcesses();
        String packageName = services.get(0).topActivity.getPackageName(); // fist
                                                                            // Task
                                                                            // is
                                                                            // the
                                                                            // last
                                                                            // started
                                                                            // task
        for (int i = 0; i < apps.size(); i++) {
            if (apps.get(i).processName.equals(packageName)) {
                appPid = apps.get(i).pid;
                Log.d(getClass().getName(),
                        "Found activity process: " + apps.get(i).processName
                                + " PID: " + appPid);
            }

        }
    }
项目:yaacc-code    文件:LocalThirdPartieMusicPlayer.java   
private void discoverMusicActivityPid() {

    ActivityManager activityManager = (ActivityManager) getContext()
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> services = activityManager
            .getRunningTasks(Integer.MAX_VALUE);
    List<RunningAppProcessInfo> apps = activityManager.getRunningAppProcesses();
    String packageName = services.get(0).topActivity.getPackageName(); //fist Task is the last started task     
    for (int i = 0; i < apps.size(); i++) {
        if(apps.get(i).processName .equals(packageName)){
            musicAppPid = apps.get(i).pid;
            Log.d(getClass().getName(), "Found music activity process: " + apps.get(i).processName + " PID: " + musicAppPid);
        }

    }
}
项目:TAG    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:appez-android    文件:PushNotificationUtility.java   
private String getCurrentForegroundApp() {
    String currentForegroundApp = null;
    try {
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        // The first in the list of RunningTasks is always the foreground
        // task.
        RunningTaskInfo foregroundTaskInfo = am.getRunningTasks(1).get(0);
        String foregroundTaskPackageName = foregroundTaskInfo.topActivity.getPackageName();
        Log.d(SmartConstants.APP_NAME, "PushMessageNotifier->foregroundTaskPackageName:" + foregroundTaskPackageName);
        currentForegroundApp = foregroundTaskPackageName;
        PackageManager pm = context.getPackageManager();
        PackageInfo foregroundAppPackageInfo;

        foregroundAppPackageInfo = pm.getPackageInfo(foregroundTaskPackageName, 0);

        String foregroundTaskAppName = foregroundAppPackageInfo.applicationInfo.loadLabel(pm).toString();
        Log.d(SmartConstants.APP_NAME, "PushMessageNotifier->getCurrentForegroundApp:" + foregroundTaskAppName + ",app package name:" + context.getPackageName());
    } catch (NameNotFoundException e) {
        // TODO handle this exception
    }
    return currentForegroundApp;
}
项目:LucaHome-AndroidApplication    文件:AndroidSystemController.java   
public boolean IsBaseActivityRunningPreAPI23() {
    ActivityManager activityManager = (ActivityManager) _context.getSystemService(Context.ACTIVITY_SERVICE);

    if (activityManager == null) {
        Logger.getInstance().Error(TAG, "ActivityManager is null!");
        return false;
    }

    List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);

    for (RunningTaskInfo task : tasks) {
        if (_context.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName())) {
            return true;
        }
    }

    return false;
}
项目:IMKBaseFrameworkLibrary    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || TextUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (tasksInfo == null || tasksInfo.size() == 0) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:SmartFace    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:Calculable    文件:Splash.java   
protected void onPause() {
 if (this.isFinishing()){ //basically BACK was pressed from this activity
 //mp.stop();
  }
else{

}
 Context context = getApplicationContext();
 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
 List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
 if (!taskInfo.isEmpty()) {
 ComponentName topActivity = taskInfo.get(0).topActivity; 
 if (!topActivity.getPackageName().equals(context.getPackageName())) {
 //mp.stop();

}
}
   super.onPause();

 }
项目:mobile-manager-tool    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:AndroidStudyDemo    文件:PackageUtil.java   
/**
 * whether the app whost package's name is packageName is on the top of the
 * stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in
 * manifest</li>
 * </ul>
 *
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise
 * retun whether the app is on the top of stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || TextUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (tasksInfo == null || tasksInfo.size() < 1) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity
                .getPackageName());
    } catch (Exception e) {
        Logger.e(e);
        return false;
    }
}
项目:ContactList    文件:SmsReceiver.java   
public void isTopActivy(String msmsNumber) {
    ActivityManager manager = (ActivityManager) mContext
            .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1);
    String cmpNameTemp = null;

    if (null != runningTaskInfos) {
        cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString();
        Log.e("cmpname", "cmpname1:" + cmpNameTemp);
    }
    // cmpname:ComponentInfo{com.liang.phonecontactlist/com.liang.phonecontactlist.SmsDetailActivity}
    cmpNameTemp = cmpNameTemp
            .replace(
                    "ComponentInfo{com.liang.phonecontactlist/com.liang.phonecontactlist.",
                    "");
    cmpNameTemp = cmpNameTemp.replace("}", "").trim();
    Log.e("cmpname", "cmpname2:" + cmpNameTemp);
    if (null == cmpNameTemp)
        return;

    if (cmpNameTemp.equals("SmsDetailActivity")
            && SmsDetailActivity.curActivity.smsNumer.equals(msmsNumber)) {
        SmsDetailActivity.curActivity.refresMenSmsLog();
    }

}
项目:EasyFrame    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:KwPresent    文件:PackageUtil.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <p/>
 * Attentions:
 * You should add android.permission.GET_TASKSin manifest
 *
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 * stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || TextUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (CommonUtil.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:AndroidBasicProject    文件:PackageUtil.java   
/**
 * 检测应用是否在前台
 *
 * Attentions:
 * <ul>
 * <li>You should add android.permission.GET_TASKS in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || DataUtil.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (DataUtil.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:android_career    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:XmppTest    文件:XXService.java   
public boolean isAppOnForeground() {
    List<RunningTaskInfo> taskInfos = mActivityManager.getRunningTasks(1);
    if (taskInfos.size() > 0
            && TextUtils.equals(getPackageName(),
                    taskInfos.get(0).topActivity.getPackageName())) {
        return true;
    }

    // List<RunningAppProcessInfo> appProcesses = mActivityManager
    // .getRunningAppProcesses();
    // if (appProcesses == null)
    // return false;
    // for (RunningAppProcessInfo appProcess : appProcesses) {
    // // L.i("liweiping", appProcess.processName);
    // // The name of the process that this object is associated with.
    // if (appProcess.processName.equals(mPackageName)
    // && appProcess.importance ==
    // RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
    // return true;
    // }
    // }
    return false;
}
项目:rootinspector    文件:Root.java   
public boolean checkRootMethod11() {
    Log.d(Main.TAG, "check12");
    boolean returnValue = false;
    // Get currently running application processes
    List<RunningTaskInfo> list = manager.getRunningTasks(300);
    if(list != null){
        String tempName;
        for(int i=0;i<list.size();++i){
            tempName = list.get(i).baseActivity.flattenToString();
            Log.d(Main.TAG, "baseActivity: " + tempName);
            if(tempName.contains("supersu") || tempName.contains("superuser")){
                Log.d(Main.TAG, "found one!");
                returnValue = true;
            }
        }
    }
    return returnValue;
}
项目:Graduation-Design    文件:ApplockService.java   
protected void startWatchDog() {
    new Thread(new Runnable() {

        @Override
        public void run() {
            mIsWatching = true;
            while (mIsWatching) {
                // 获取最近创建的任务栈
                RunningTaskInfo runningTaskInfo = mActivityManager.getRunningTasks(2).get(0);
                String packageName = runningTaskInfo.topActivity.getPackageName();
                if (mProtectPackageNames.contains(packageName)) {
                    // 如果当前应用程序没有处于临时停止保护状态
                    if (!mTempStopProtectPackageNames.contains(packageName)) {
                        mAuthIntent.putExtra(Constants.extra.PACKAGENAME, packageName);
                        startActivity(mAuthIntent);
                    }
                }
                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }).start();
}
项目:GomeOnline    文件:MessageReceiver.java   
@Override
    protected Boolean doInBackground(String... strings) {
        boolean b=false;
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
        if (!tasks.isEmpty()){
            ComponentName topActivity = tasks.get(0).topActivity;
            if (!topActivity.getPackageName().equals(context.getPackageName())){
                System.out.println("后台");
                b = true;
            }
            else {
                System.out.println("前台");
                b = false;
}
        }
        return b;
    }
项目:analytics-client    文件:HarvestWatcher.java   
private void processActivity(){
    Log.d("HarvestWatcher", "processActivity");
    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);

    List<RunningTaskInfo> tasks = activityManager.getRunningTasks(MAX_TASKS);
    if (tasks.isEmpty()) {
        Log.d("HarvestWatcher", "no task were found");
        return;
    }

    RunningTaskInfo task = tasks.get(0);
    ComponentName activity = task.baseActivity;
    String packageName = activity.flattenToString();
    String applicationLabel = "unknown";

    for (String blacklisted: BLACKLIST) {
        if (packageName.startsWith(blacklisted)){
            return;
        }
    }

    journal.store(packageName);
}
项目:UltimateAndroid    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * Attentions:
 * <li>You should add android.permission.GET_TASKS in manifest</li>
 * </ul>
 *
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 * stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || !BasicUtils.judgeNotNull(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (!BasicUtils.judgeNotNull(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:UltimateAndroid    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 *         stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || BasicUtils.judgeNotNull(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (BasicUtils.judgeNotNull(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:UltimateAndroid    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 *
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 * stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || !BasicUtils.judgeNotNull(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (!BasicUtils.judgeNotNull(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:bind-other-app    文件:TouchEventHandlerThread.java   
/**
     * 启动我们的app
     * @param targetClass
     */
    private void startOurApp(Class<?> targetClass){
        List<RunningTaskInfo> topRunningTask = mActivityManager.getRunningTasks(1);
        if (topRunningTask != null && topRunningTask.size() > 0) {
            RunningTaskInfo topRunningTaskInfo = topRunningTask.get(0);
            String packagename = topRunningTaskInfo.topActivity.getPackageName();
            if (mContext.getPackageName().equals(packagename)) {
                return;
            }
            mActivityManager.killBackgroundProcesses(packagename);
        }
        Intent i = new Intent();
        i.setAction(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_DEFAULT);
//        i.addCategory(Intent.CATEGORY_LAUNCHER);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        i.setClassName(mContext, targetClass.getName());
        mContext.startActivity(i);
        isSuccess = true;
    }
项目:utilJar    文件:PackageUtils.java   
/**
 * whether the app whost package's name is packageName is on the top of the stack
 * <ul>
 * <strong>Attentions:</strong>
 * <li>You should add <strong>android.permission.GET_TASKS</strong> in manifest</li>
 * </ul>
 * 
 * @param context
 * @param packageName
 * @return if params error or task stack is null, return null, otherwise retun whether the app is on the top of
 * stack
 */
public static Boolean isTopActivity(Context context, String packageName) {
    if (context == null || StringUtils.isEmpty(packageName)) {
        return null;
    }

    ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
    if (ListUtils.isEmpty(tasksInfo)) {
        return null;
    }
    try {
        return packageName.equals(tasksInfo.get(0).topActivity.getPackageName());
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
项目:smartedu    文件:AppService.java   
public boolean isAppOnForeground() {
    List<RunningTaskInfo> taskInfos = mActivityManager.getRunningTasks(1);
    if (taskInfos.size() > 0
            && TextUtils.equals(getPackageName(),
                    taskInfos.get(0).topActivity.getPackageName())) {
        return true;
    }

    // List<RunningAppProcessInfo> appProcesses = mActivityManager
    // .getRunningAppProcesses();
    // if (appProcesses == null)
    // return false;
    // for (RunningAppProcessInfo appProcess : appProcesses) {
    // // L.i("liweiping", appProcess.processName);
    // // The name of the process that this object is associated with.
    // if (appProcess.processName.equals(mPackageName)
    // && appProcess.importance ==
    // RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
    // return true;
    // }
    // }
    return false;
}
项目:MoST    文件:AppOnScreenInput.java   
@Override
public void workToDo() {
    RunningTaskInfo fgApp = getForegroundTask();
    ComponentName fgAct = null;
    if (null != fgApp) {
        fgAct = fgApp.topActivity;
    }

    /*
     * Log the foreground application and activity if: a) we successfully
     * got the foreground application b) we successfully got the foreground
     * activity
     */
    if (fgApp != null && fgAct != null) {
        DataBundle b = _bundlePool.borrowBundle();
        b.putString(KEY_APPONSCREEN, fgApp.baseActivity.getPackageName());
        b.putString(KEY_APPONSCREENACTIVITY, fgAct.getClassName());
        b.putLong(Input.KEY_TIMESTAMP, System.currentTimeMillis());
        b.putInt(Input.KEY_TYPE, Input.Type.APPONSCREEN.toInt());
        post(b);
    }
    scheduleNextStart();
}
项目:Scheduler-Plugin    文件:AppHelper.java   
public static boolean isServiceRunning(Context context, String className) { 
boolean isServiceFound = false;

try {
    ActivityManager activityManager = (ActivityManager)context.getSystemService (Context.ACTIVITY_SERVICE); 
    List<RunningTaskInfo> services = activityManager.getRunningTasks(Integer.MAX_VALUE); 
    for (int i = 0; i < services.size(); i++) { 
        if (services.get(i).topActivity.getClassName().equalsIgnoreCase(className)) {
            isServiceFound = true;
        }
    }
} catch (Exception ex) {
} 

   return isServiceFound; 
}
项目:Alt-Tab    文件:TaskManager.java   
public boolean addCurrentTask(RunningTaskInfo taskInfo)
{
    /*Should return false if there was NO change*/

    String packageName =  taskInfo.baseActivity.getPackageName();

    TaskData task = getTask(packageName);       

    if (task == null)
    {
        task = new TaskData(taskInfo, this);
        tasks.add(task);
        trimList();
    }
    else
    {
        if (isTaskOnTop(task)) return false;
        else 
        {
            /*move to top*/
            tasks.remove(task);
            tasks.add(task);
        }
    }
    return true;
}
项目:Open-Battery-Saver    文件:CleanUpTask.java   
@Override
protected HashMap<String, String> doInBackground(Void... params) {
    ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
    PackageManager packageManager = mContext.getPackageManager();
    List<RunningTaskInfo> list = activityManager.getRunningTasks(Integer.MAX_VALUE);

    for (RunningTaskInfo runningTaskInfo : list) {
        String packageName = runningTaskInfo.baseActivity.getPackageName();
        // If an Application is a non-system application it must have a launch Intent
        // by which it can be launched. If the launch intent is null then its a system App. 
        if (packageManager.getLaunchIntentForPackage(packageName) == null ||
            packageManager.equals(mContext.getPackageName())) {
            continue;
        }
        activityManager.killBackgroundProcesses(packageName);
    }
    return mResults;
}
项目:SimplePomodoro-android    文件:MyUtils.java   
public static ScreenState getScreenState(Context c){
        PowerManager pm = (PowerManager) c.getSystemService(Context.POWER_SERVICE);
        boolean isScreenOn = pm.isScreenOn();
        if(isScreenOn){
            ActivityManager manager = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE);
            List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(Integer.MAX_VALUE);
            RunningTaskInfo info = runningTaskInfos.get(0);
            String nowPackageName = info.baseActivity.getPackageName();
            if(nowPackageName.equals(MY_PACKAGE_NAME)){
                return ScreenState.MYAPP;
            }else{
                return ScreenState.OTHERAPP;
            }
//          Log.e("MyUtils",nowPackageName);
        }else{
//          Log.e("isScreenOn:",String.valueOf(isScreenOn));
            return ScreenState.LOCK;
        }
    }