简体   繁体   中英

can't handle keyboard events android

I am trying to handle the back button event on my app but its not working at all. I have inplemented ActivityGroup in my app according to the post Android: TabActivity Nested Activities

I have added the following code according to many posts in this website

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.d(this.getClass().getName(), "back button pressed: " + keyCode);
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        Log.d(this.getClass().getName(), "back button pressed");
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

but for some reason i still dont know i am not getting the lines to be logged, it goes back to the home screen. I know that the onBackPressed will not work for me because I need to have this app implemented using api level 4 and it is not available at this level.

My ActivityGroup has only two activities, one list view and a details view. I have put this code on all the three classes to try something different, but still cant get it working. I see "No keyboard for id 0" in the logs, but i dont think it means something that can be related to the problem.

I do appreciate any answer to this. Many thanks T

Add a log statement right above the return line and see what KeyEvent is happening.

like this:

Log.w(keyCode, "This is the key code that is returned");
return super.onKeyDown(keyCode, event);

Now look at the returned value and verify/compare it to KeyEvent.KEYCODE_BACK and this may point you in the direction of your problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM