안녕하세요.
앱 실행하다가 홈버튼을 누르는 경우는
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 이름으로 나타납니다.
혹시 현재 화면이 최근 실행화면 인지를 판단할 수 있는 방법이 있을지 질문 드립니다.
그럼 남은 하루도 좋은하루 되세요^^