마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

현재 화면이 최근 실행목록인지 확인 하는 방법 질문 드립니다.

0 추천

안녕하세요.

앱 실행하다가 홈버튼을 누르는 경우는
 

ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
 
RunningTaskInfo foregroundTaskInfo = am.getRunningTasks(1).get(0);
 
String foregroundTaskPackageName = foregroundTaskInfo.topActivity
                .getPackageName();
PackageManager pm = context.getPackageManager();
PackageInfo foregroundAppPackageInfo = null;
 
try {
 
    foregroundAppPackageInfo = pm.getPackageInfo(foregroundTaskPackageName, 0);
 
} catch (NameNotFoundException e) {
    Logger.e(e);
    return false;
}
 
String foregroundTaskAppName = foregroundAppPackageInfo.applicationInfo.loadLabel(pm).toString();
 
String appName = context.getString(context.getApplicationInfo().labelRes);
 
if (foregroundTaskAppName.equals(appName )) {
 
    return true;
}
 
return false;


와 같이 사용해서

foregroundTaskAppName 이 Launcher가 되고 appName 은 APP이 되어서 현재 실행중이 아니라고 판단할 수가 있는데

문제는 최근 실행목록 버튼을 누르는 경우 위와 같이 실행되면 foregroundTaskAppName 과 appName이 모두 저희 App 이름으로 나타납니다.

혹시 현재 화면이 최근 실행화면 인지를 판단할 수 있는 방법이 있을지 질문 드립니다.

그럼 남은 하루도 좋은하루 되세요^^

hwani (120 포인트) 님이 2016년 4월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...