안드로이드 잠금화면 예제 // 어플리케이션 생명주기 활용 //
안드로이드의 잠금화면을 구현 하던 중
백그라운드에서 포그라운드로 올라올때 잠금액티비티를 띄워주면 되겠다는 생각으로
열심히 구글링 해서 찾은 방법이다.
일단 따로 서비스를 돌리거나 라이브러리를 추가하지 않아도 되기에 좋은 방법인 것 같다.
그리고 되게 쉬움.
-----------------------------------------------코드----------------------------------------------------------
Application을 상속받는 java파일을 하나 만든다.
//application은 하나의 파일받게 상속받을 수 없다. 고로 기존 프로젝트에 얘를 상속받는 놈이 있다면 그놈안에 코드를 넣어주어야 한다.
온크레딧 내부에 registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
public class MyActivityLifecycleCallbacks implements ActivityLifecycleCallbacks {
private int running = 0;
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
if (++running == 1) {
mAppStatus = AppStatus.RETURNED_TO_FOREGROUND;
} else if (running > 1) {
mAppStatus = AppStatus.FOREGROUND;
}
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
if (--running == 0) {
mAppStatus = AppStatus.BACKGROUND;
}
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
}