2011-01-27 2 views

답변

8

onKeyDown 사용;

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

      // Your Code Here 

     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
4

키 이벤트를 캡처하고 뒤로 키를 확인할 수 있습니다. 귀하의 활동 :

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_BACK){ 
     goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

그리고 원하는 위치로 goBack 메소드를 작성하십시오. 에서

더 : Android - onBackPressed() not working

1

대답 ---> http://apachejava.blogspot.com/2011/01/backward-compatibility-using.html

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR 
      && keyCode == KeyEvent.KEYCODE_BACK 
      && event.getRepeatCount() == 0) { 
     // Take care of calling this method on earlier versions of 
     // the platform where it doesn't exist. 
     onBackPressed(); 
    } 

    return super.onKeyDown(keyCode, event); 
} 

@Override 
public void onBackPressed() { 
    // This will be called either automatically for you on 2.0 
    // or later, or by the code above on earlier versions of the 
    // platform. 
    return; 
} 
+0

이 솔루션은 작동하지 않습니다. 2 가지 ... 하나, android.os.Build.VERSION.SDK_INT는 Android 1.5에서 사용할 수 없습니다. 둘째, super.onBackPressed()를 호출해야합니다. 그렇지 않으면 뒤로 버튼이 작동하지 않습니다. Android 1.5 기기에서는 super.onBackPressed()를 호출하지 못하고 오류가 발생합니다. – Jona

+0

이것은 내 코드 샘플이 아닙니다. 나는 안드로이드 개발자 공식 블로그 자리에서 그것을 얻었다. –

관련 문제