당신은 기본 활동 등을 만들 수 있습니다 이것으로부터 모든 활동을 확장하고 기초 활동의 onResume
에서 자신의 일을 할 수 있습니다.
하지만 앱을 다시 시작할 때 물건을해야하는 경우 작업이 좀 더 복잡해질 수 있습니다. 앱이 다시 시작될 때 호출되는 직접 메소드는 없습니다. 아래와 같이 사용자 정의 활동의 라이프 사이클 콜백을
public class CustomComponentCallback implements ComponentCallbacks2 {
@Override
public void onTrimMemory(int level) {
if (level == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
isAppWillResume = true;
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
}
@Override
public void onLowMemory() {
}
}
을 그리고 만들 :
그래서 아래처럼 Application
클래스의 사용자 지정 구성 요소 콜백을 만들 수 있습니다
private static final class CustomLifecycleCallbacks implements ActivityLifecycleCallbacks {
@Override
public void onActivityResumed(Activity activity) {
if(isAppWillResume){
// do your staff
isAppWillResume = false;
}
}
@Override
public void onActivityPaused(Activity activity) {
}
//...
}
가에서 정적 부울 필드를 정의 귀하의 응용 프로그램 클래스는 아래와 같습니다 : 귀하의 콜백을 등록하십시오.
private static boolean isAppWillResume = true;
그리고 응용 프로그램의
onCreate
에 등록 할 사용자 정의 콜백 :
registerComponentCallbacks(new CustomComponentCallback());
registerActivityLifecycleCallbacks(new CustomLifeCycleCallbacks());
나는이 응용 프로그램이 다시 시작되면 감지하는 가장 좋은 방법인지 모르겠지만이 솔루션은 나를 위해 작동합니다.
편집 : BaseActivity로 모든 활동을 확장하고 싶지 않다면, 내가 작성한 맞춤 콜백 만 등록 할 수 있으며, 원하는대로 할 수 있습니다. 활동이 재개되면 전화가 걸립니다.
행운을 비네!
매우 간단합니다!죄송합니다 upvote에 대한 명성이 충분하지 않습니다. –
그게 좋습니다 :) 우리가 당신의 질문에 대답했다고 생각한다면, 당신이 생각하는 대답을 받아들이십시오. 고맙습니다. –
@RamanKrishnan upvote는 필요하지 않습니다. 대답을 수락하는 것입니다. –