2013-12-17 3 views
0

내 앱이 백그라운드로 이동할 때 이벤트를 만들려고합니다. onPause() 및 onDestroy() 메서드를 살펴보고 있지만 다른 액티비티를 탐색하고 finish()를 호출 할 때도 이러한 메서드가 호출됩니다.안드로이드 앱이 배경에있을 때 알아보기

더 좋은 방법이 있나요?

+0

() UR actvity는 크레타하려는 이벤트의 유형 –

+0

존재하지 않습니다? 정확한 요구 사항을 언급하다. – CoronaPintu

답변

0

전화 할 때마다 OnDestroy() 귀하의 활동이 제거되거나 완료되었습니다. 귀하의 OnPause()가 호출 될 때 백그라운드 체크를 확인하십시오. 그런 다음 응용 프로그램이 항상 포 그라운드에있을 것입니다 활동에서이 문제를 확인하여 가면 그 Activity Life cycle

-1

에 대한 자세한 내용은

, 나의 제안은 현재 상위 응용 프로그램에 대한 검사에 유지하는 별도의 서비스를 만드는 것입니다. 이것이 당신의 패키지 이름과 같은 경우

private String getCurrentTopActivity() { 

     ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
     List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager 
       .getRunningTasks(1); 
     ActivityManager.RunningTaskInfo ar = RunningTask.get(0); 
     return ar.topActivity.getClassName().toString(); 
    } 

다음 응용 프로그램은 다른 사람 앞에서 땅에 그것은 Application

public class MyApplication extends Application { 

    public boolean status=false; 

} 

이 모든 활동이 변수를 사용하여 확장 한 클래스를 생성 배경

0

에 . 유 마무리라고하면 onResume에서 onPause() myApp.status=false;

에서

() myApp.status=true;

관련 문제