您的位置:首页 > 其它

key event监听back键

2016-08-13 11:06 190 查看
private DialogInterface.OnKeyListener keylistener = new DialogInterface.OnKeyListener() {
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
dialog.dismiss();
exitApp();
return true;
} else {
return false;
}
}
};


updateDialog.setOnKeyListener(keylistener);


双击back键退出app的逻辑:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN ) {
backPressedTime ++;
if(backPressedTime == 1)
{
BFEventBus.getInstance().post(Event.make(BFEventBus.GROUP_APP,"onLeaveApp",null));
//                TMToast.makeText(this,"再按一次返回键退出", Toast.LENGTH_SHORT).show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
backPressedTime = 0;
}
},2000);
}if(backPressedTime >= 2)
{
TMMainTabActivity.this.finish();
}
return false;
}
return super.dispatchKeyEvent(event);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  back keyevent