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

标签 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);
    }
}

但 logcat 不显示任何日志消息。

W/KeyCharacterMap(517): No keyboard for id 0  

W/KeyCharacterMap(517):使用默认键盘映射:/system/usr/keychars/qwerty.kcm.bin 请帮我找到这个。

编辑问题:

这是我的整个类(class)。

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);        
}

最佳答案

您可以覆盖 onBackPressed()在那里运行并实现您的逻辑。

请引用这篇安卓博文"Back and other hard keys: three stories"以获得更多的理解。

您可以重写 GroupDreams 中的 onKeyDown 函数,也许这会起作用

关于Android onKeyDown()在按下后退按钮时不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11822832/

相关文章:

Android - 键盘的意外行为 - ListView 中的 EditText

android - 拦截 PopupWindow 中的 Android 菜单按钮

android - 如何在 MPAndroidChart 中隐藏图例和轴?

android - 识别应用程序是否存在后的蓝牙连接

android - Gradle 同步失败 : Could not find any matches for com. android.tools.build :gradle:1. 0.+ 因为没有可用的 com.android.tools.build:gradle 版本

android - 为什么我的 c 套接字死了?

android - 如何在webview中显示键盘隐藏的内容

android - 显示android时避免键盘拉动 Activity 布局

android - 如何从编辑文本中删除键盘,但在单击编辑文本时显示键盘?

java - 在 Android 上滚动 RecyclerView 时如何修复计时器?