2013-03-28 2 views
0

내 활동에 내 응용 프로그램에 종료 기능을 적용하려고합니다. System.Exit(0); 또는 finish(); 또는 android.os.Process.killProcess(android.os.Process.myPid());super.onDestroy();과 같은 대상을 수행하는 몇 가지 방법을 시도했지만 문제는 집에서 다른 활동으로 이동하는 것입니다. 다시 집에 돌아 왔을 때 이전에 탐색 한 활동으로 돌아 오는 것보다android에서 응용 프로그램을 종료하는 방법

+0

코드를 업로드하십시오. – Raynold

+0

여기 [Android-exit 응용 프로그램 코드]에 대한 설명입니다 (http://stackoverflow.com/questions/3226495/android-exit-application-code/15643706#15643706) 호프가 도움이 되었기를 바랍니다. –

+0

종료에 대한 질문/답변. 무엇을하고 싶습니까 (정확히)? –

답변

0

아래와 같이 finish()를 호출 해보십시오. 따라서 활동의 인스턴스가 삭제됩니다.

다시 ActivityB에서 HomeActivity에 와서 (마무리를 호출하려고

) 뒤로 버튼을 누르면

Intent i = new Intent(ActivityB.this, Home.class); 
startActivity(i); 
finish(); 

* 강력한 텍스트 * "응용 프로그램을 죽일"하지 않습니다. 사용자가 BACK (뒤로) 버튼을 눌렀을 때 화면 상에있는 활동을 마치게됩니다.

0

이렇게하려면 broadcastreceiver를 사용해야합니다. 사용자가 예를 들어, 종료 버튼을 탭하면,

BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { 
@Override 
public void onReceive(Context context, Intent intent) { 
    try { 
    String action = intent.getAction(); 
    if (ACTION_LOGOUT.equals(action)) { 
     finish(); 
    } 
} 
}; 

과 같이 사용 무언가를 당신은

Intent intent = new Intent(); 
intent.setAction(ACTION_LOGOUT); 
context.sendBroadcast(intent); 

같은 의도를 보내야 그리고 baseActivity에서 당신이 사용 (또는 프로젝트의 모든 활동에서) 하지 OnCreate :

registerReceiver(mBroadcastReceiver, new IntentFilter(ACTION_LOGOUT)); 
-1

앱 :

finish(); 
    moveTaskToBack(true); 
System.exit(0); 
종료하려면이 시도
+0

System.exit()은 특정 경우에만 사용해야합니다. 권장하지 마십시오. 의견의 토론 링크를 읽으십시오. – Simon

+0

나는 그것을 파괴 한 후에 앱의 홈 화면으로 돌아갈 수 있도록 system.exit (0)을 제안했다. 다른 그는 그가 앱을 종료 할 때의 활동에 신경을 쓸 것이다. – Shiv

+0

문서화되어 있고, 탐색을 제어하는 ​​데 사용해야하는 활동 플래그. System.exit()가 잘못되었습니다. – Simon

관련 문제