Используя onBackPressed () с обратной совместимостью

Я хочу использовать метод onBackPressed () и все еще хочу предоставить поддержку Android SDK до 2.0. OnBackPressed () введен в Android SDK 2.0. Но как это сделать?

Использование onKeyDown;

public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // Your Code Here return true; } return super.onKeyDown(keyCode, event); } 

Вы можете зафиксировать ключевое событие и проверить его. О вашей деятельности:

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

И напишите метод goBack, чтобы идти туда, где вам нужно.

Больше на: Android – onBackPressed () не работает

Ответ —> 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; }