2014-04-25 3 views
2

나는 이상한 질문이있다. 내 메인 전화에서 삼성 갤럭시 S4가 4.4.2를 실행하고 있다는 사실을 알게되었습니다. 일부 소프트웨어 또는 설정이 설치되어 실행되면 모든 앱이 로딩 할 때 일시 중지 상태로 잠시 들어가기 때문에 onResume이 두 번 호출됩니다. 하지만 이것은 4.3을 실행하는 아내의 S4에서 발생하지 않습니다. 나는 이것을 일으킬 수있는 것을 좁히려 고 노력하고 있습니다.시작시 내 활동이 일시 중지 된 이유를 알려주는 방법은 무엇입니까?

이것은 IntelliJ 13에 의해 생성 된 Hello World 앱을 포함하여 확인한 모든 앱에서 발생하지만 안드로이드 에뮬레이터에서는 발생하지 않고 내 아내 S4에서는 발생하지 않습니다. 결과는 다음과 같습니다.

(launch the app) 
onResume() 
onPause() 
onResume() 
(app is now active) 

마치 소프트웨어의 일부가 잠깐 전경 제어를하는 것처럼 보입니다. 나는 정말로 무엇을 발견하고 싶다.

누구나이 문제의 원인이 될 수 있습니다. 또는 시작시 onPause가 호출되는 이유를 결정하는 방법에 대해 알아보십시오. 다른 앱 차단 기능이라면 적어도 이름은 알고 싶습니다. 감사!

+0

시작 전에 앱을 확인하는 앱이 있습니까? 예. 클린 마스터 –

+0

S4에는 앱 전환을위한 이상한 오버레이 바가 있습니다 (화면 왼쪽의 탭). 그게 보여? 그렇다면 뒤로 버튼을 누른 채로 해제 한 다음 사라지는 지 확인하십시오. – kcoppock

+0

다음은 좋은 제안입니다. 내가 말하는 "멀티 뷰"기능을 비활성화하고 전화를 다시 시작했지만 여전히 발생합니다. 또한 앱 시작을 가로 챌 가능성이 있다고 생각한 여러 가지 앱을 제거하고 다시 재부팅하여 아무런 효과가 없습니다. 전 프로그램에서 전경을 파악한 앱을 찾고 로그 할 수있는 방법이 있는지 궁금합니다. –

답변

0

OK, 범인은 ES File Explorer입니다. 이 응용 프로그램을 제거하면이 동작이 중지되었습니다. 왜 이렇게하는지 모르겠지만 앱을 많이 사용하지 않고 조금 의심스러워서 방금 앱을 삭제했습니다.

다른 사람에게 도움이되는 경우 : onResume/onPause에서 보이는 활동을 로깅하면 조금 좁힐 수 있습니다.

private void logVisibleProcesses() { 
    ActivityManager activityManager = (ActivityManager) getSystemService("activity"); 
    List<ActivityManager.RunningAppProcessInfo> processList = activityManager.getRunningAppProcesses(); 
    if (processList != null) { 
     for (ActivityManager.RunningAppProcessInfo appProcessInfo : processList) { 
      if (appProcessInfo.importance == appProcessInfo.IMPORTANCE_VISIBLE) { 
       Log.e(TAG, "visible process: " + appProcessInfo.processName); 
      } 
     } 
    } 
} 
관련 문제