2014-02-25 4 views
1

이 내 응용 프로그램의 구조보다 우선합니다.onBackPressed()

양식을 완료 한 후 B 활동에는 C 활동을 시작하는 버튼이 있습니다.

C 활동은 설정을 저장하고 A 활동에 표시 할 새 레코드를 작성합니다. C 활동의 단추 저장은 A 활동을 시작합니다.

사용자가 B에서 A 작업 반환에서 뒤로 단추를 누를 때 사용자가이 절차를 두 번 이상 수행하면 (시작했을 때 C를 통과하지 않아서 FLAG_ACTIVITY_NO_HISTORY을 설정 함) 두 번째로 다시 반환합니다. 를 A로 다시 보내면 생성 된 레코드 수와 동일한 시간만큼 반복됩니다.

뒤로 버튼으로 앱을 닫으면 긴 과정이되었습니다.

A 액티비티의 onBackPressed은 항상 앱을 종료하고 싶습니다.

영어는 제 언어가 아니므로 분명히했으면합니다.

답변

2

항상 아래

Intent intent = new Intent(current_activity_context, A.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 
    finish(); 
+0

예, 제대로 작동합니다. – TWONEKSONE

+0

왜 필요한 전화 마무리() ??? – TWONEKSONE

0

처럼 그렇게 할 것입니다 방법 마감() 활동 A를 시작합니다. 이

Intent intent = new Intent(getApplicationContext(), 
       Activity B.class); 
     Activity A.this.startActivity(intent); 

     finish(); 
0

같은 뭔가이

@Override 
public void onBackPressed() { 
    // Do Here what ever you want do on back press; 
} 
0

당신은

@Override 
public void OnBackPressed(){ 
    Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.addCategory(Intent.CATEGORY_HOME); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
    super.onBackPressed();//Optional 
} 

가 도움이 희망 OnBackPressed 방법을 오버라이드 (override) 할 필요가보십시오.

관련 문제