2013-02-05 7 views
0

내 샘플 앱에는 이름이 FirstActivitySecondActivity 인 두 가지 활동이 있습니다. SecondActivity에서 모바일 백 버튼을 사용하여 의도를 통해 일부 데이터를 전달하려는 경우 여기 SecondActivity을 완료하고 싶지만 내 SecondActivity에있는 뒤로 버튼을 누르면 내 FirstActivity으로 돌아 오지만 완료되지 않습니다. SecondActivity. SecondActivity을 어떻게 완료 할 수 있는지 알려주세요.안드로이드에서 모바일 뒤로 버튼을 사용하여 활동을 마무리하는 방법은 무엇입니까?

public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if ((keyCode == KeyEvent.KEYCODE_BACK)) 
     { 
      Intent intent = new Intent(SecondActivity.this,FirstActivity.class); 
      //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

      intent.putExtra("Data1", data1); 
      intent.putExtra("Data2", data2); 

      startActivity(intent); 
      finish(); 
     } 
     return true; 
    } 
+0

나는 그것이 finishActivity입니다 생각(); 그리고 끝내지 마라. – Rudy

+0

SecondActivity.this.finish(); – duggu

+0

그것의'finish()'만. 그래서 OP가 바로 여기 있습니다. –

답변

1

FirstActivity startActivityForResult에 사용하고, 두 번째 마무리 전에 setResult 방법을 사용한다.

0
@Override 
public void onBackPressed() { 
     super.onBackPressed(); 
     this.finish(); 
} 
0

startActivityForResult()에 대한 설명서는 올바른 작업 방법입니다.

하지만 위의 예에서 SecondActivity.this.finish()이 작동해야합니다.

0

어쩌면이 작품 :

// Back Button Press 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      Intent intent = new Intent(SecondActivity.this,FirstActivity.class); 
       //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

       intent.putExtra("Data1", data1); 
       intent.putExtra("Data2", data2); 

       startActivity(intent); 
       SecondActivity.this.finish(); 
       return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 
관련 문제