Возобновить действие с задней жесткой клавиши в контекстном меню - PullRequest
1 голос
/ 11 марта 2011

Я хочу проверить, нажата ли жесткая клавиша возврата на устройстве только в моем контекстном меню, чтобы я мог запустить намерение перезапустить действие.Благодарю.Вот мой код до сих пор

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    item = menu.add("Something");
    item.setIcon(R.drawable.ic_menu_something);

    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //search
    if (item.getTitle() == "Something") {
//how do I check if hard back key was pressed inside this IF statement as to run below intent
        Intent myCustomView = new Intent(this, com.example.something.class);
        startActivityForResult(myCustomView, RESULT_OK);
    }

1 Ответ

0 голосов
/ 11 марта 2011

Перед тем, как загрузить пистолет для вас, обычно не рекомендуется изменять функцию аппаратных клавиш. Пользователи ожидают определенного поведения, и их не следует путать.

Тем не менее, вы можете сделать это, перехватывая событие onKeyDown и тестируя, чтобы увидеть, была ли нажата клавиша Back:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        //do your thing
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
...