Android onKeyDown()在按下后退按钮时不执行

Har*_*shi 4 android android-keypad

嗨搜索谷歌后我来这里询问帮助.当用户按下设备的后退按钮时,我使用以下方法返回.

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


        Log.i("===BACK BUTTON PRESSED===", "BACK BUTTON");

        return true;
    } else {
        Log.i("===ELSE BACK BUTTON PRESSED===", "ELSE BACK BUTTON");

        return super.onKeyDown(keyCode, event);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是logcat不显示任何日志消息.

W/KeyCharacterMap(517): No keyboard for id 0  
Run Code Online (Sandbox Code Playgroud)

W/KeyCharacterMap(517): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 请帮我找到这个.

编辑问题:

这是我的全班.

public class Dreams_Reminder_detail_screen extends Activity {   

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        GroupDreams.group.back();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dreams_reminder_details_screen);        
}
Run Code Online (Sandbox Code Playgroud)

}

raj*_*ara 7

您可以覆盖onBackPressed()函数并在那里实现您的逻辑.

请参阅这个Android博客文章"返回和其他硬键:三个故事"以获得更多理解.

您可以在GroupDreams中覆盖onKeyDown函数,这可能会起作用