2014-09-26 5 views
0

onDestroy는 액티비티가 삭제되기 전에 최종 정리에 사용됩니다. 따라서 logout 메서드가 onDestroy 함수 내에서 구현되는 경우 사용자가 앱을 탐색 할 때 사용자가 로그 아웃되므로 여러 액티비티가있는 앱에서는 제대로 작동하지 않습니다. 사용자가 뒤로 버튼을 누르기로 결정한 경우.액티비티뿐만 아니라 전체 앱에 대해 onDestroy-Logout 메서드를 활성화하는 방법

전체 앱에 대해 onDestroy 메소드 내에서 로그 아웃 기능을 구현하는 방법. (사용자가 앱을 종료하기로 결정한 경우) 대신 각 활동에 대해 ??

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
    Log.i("RootActivity:onDestroy()","******onDestroy:call on IdleLogout******"); 
    //Logout method 
    //set loginbutton 
    ..... 
} 
+0

'onDestroy()'메소드에 의존하는 것은 좋지 않습니다. 언제 호출 될지 알지 못합니다. 때로는 OS가 리소스가 필요할 때 나중에 호출합니다. – Aniruddha

+0

@Aniruddha 그래서 앱이 사용자에 의해 파괴/종료되었을 때 앱이 사용자를 로그 아웃하도록 제안하려면 어떻게해야합니까? 나는 에뮬레이터에만 적용 할 수 있기 때문에 onTerminate()를 사용할 수 없다. –

답변

0

당신은 항상 Activity를 확장하고 만들 수 있습니다 자신의 BaseActivity하는 그것이 당신의 기능을 구현합니다 onDestroy 방법이다에.

그런 다음 자신의 활동 범위를 넓힐 수 있습니다 BaseActivity!

public CustomActivity extends Activity{ 

    @Override 
    public void onDestroy(){ 
     //etc... 
    } 

} 


public ActivityA extends CustomActivity{} 
+0

"Public ActivityA extends CustomActivity {}"이후의 내용은 무엇입니까? 같은뿐만 아니라 거기에 onDestroy 메서드를 구현해야합니까? 나는 onDestroy()가 호출 될 수 있다고 보장 할 수 없다는 것을 이해합니다. 당신은 그것이 어떻게 일관되게 부름받을 수 있도록 보장합니까? 어디서 "finish()"메소드를 구현해야할까요? –

+0

아니요! 부모 활동에 구현하면 꼭 할 필요가 없습니다! – Pavlos

+0

아, 나머지는 당신의 의견을 보았습니다! 이 경우 어떤 소송이 최선인지 알아보기 위해 활동 라이프 사이클을 연구해야합니다! http://developer.android.com/training/basics/activity-lifecycle/index.html – Pavlos