public static boolean isRunningProcess(Context context, String packageName){ boolean isRunning = false; // ActivityManager actMng = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); // List<RunningAppProcessInfo> proceses = actMng.getRunningAppProcesses(); // for(RunningAppProcessInfo rap : proceses){ // if( rap.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND && rap.processName.equals(packageName)){ // isRunning = true; // break; // } // } ActivityManager activityManager = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); List<RunningTaskInfo> info; info = activityManager.getRunningTasks(1); for (Iterator iterator = info.iterator(); iterator.hasNext();) { RunningTaskInfo runningTaskInfo = (RunningTaskInfo) iterator.next(); if(runningTaskInfo.topActivity.getClassName().startsWith(packageName) ) { return true; } } return isRunning; }
2013년 4월 29일 월요일
어플 실행 여부 확인
피드 구독하기:
댓글 (Atom)
주석 부분은 RunningAppProcessInfo를 이용해서 확인하는 것인데 OS의 버그인지 몰라도 IMPORTANCE_FOREGROUND 체크가 제대로 되지 않아 주석 아래 부분으로 구현했음.
답글삭제