1

我想检查是否仅在我的上下文菜单中按下了设备上的硬返回键,以便我可以运行意图来重新启动活动。谢谢。到目前为止,这是我的代码

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

1 回答 1

0

在我为您装枪之前,通常不建议更改硬件键的功能。用户期望某些行为,他们不应该被弄乱。

也就是说,您可以捕获 onKeyDown 事件并测试以查看 Back 键是否是按下的键:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        //do your thing
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2011-03-11T19:48:27.217 回答