我正在开发Android中的BLE。我使用以下代码来监听甚至后退按钮。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.preview_player, container, false) ;
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.i(TAG, "keyCode = " + keyCode);
if(event.getAction() != KeyEvent.ACTION_DOWN){
}
return true;
}
});
单击后退按钮和音量按钮时代码有效。
如何只收听后退按钮? (我不想听音量按钮。)
我尝试使用keyCode == KeyEvent.KEYCODE_BACK
,但音量按钮也无法改变音量......
提前致谢。
答案 0 :(得分:2)
使用最佳且经过测试的此方法: 对于API级别5
AndroidManifest.xml
对于旧版本,然后API 5使用此:
@Override
public void onBackPressed() {
// your code.
}
最好的运气
答案 1 :(得分:1)
如果没有单击,则返回false。
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.i(TAG, "keyCode = " + keyCode);
if(event.getAction() != KeyEvent.ACTION_DOWN){
return false;
}
return true;
}
});
答案 2 :(得分:0)
我使用这些代码行只收听后退键:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
Intent i = new Intent(kerkoklase2.this, MainActivity.class);
startActivity(i);
finish();
}
return super.onKeyDown(keyCode, event);
}