QML怎么处理android的back键
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QML怎么处理android的back键相关的知识,希望对你有一定的参考价值。
Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在android上有两种方法来获取该按钮的事件。1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规方法,直接重写Activity的onKeyDown方法即可,代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) //按下的如果是BACK,同时没有重复
Toast.makeText(ml78.this,"魔力去吧Back键测试",1).show();
return true;
return super.onKeyDown(keyCode, event);
2、重写onBackPressed方法
而对于Android 2.0开始又多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写onBackPressed方法即可,代码如下
@Override
public void onBackPressed()
// 这里处理逻辑代码,大家注意:该方法仅适用于2.0或更新版的sdk
return;
参考技术A 方法一:重写onBackPressed方法
Java代码
@Override
public void onBackPressed()
// do something what you want
super.onBackPressed();
方法二:重写dispatchKeyEvent
Java代码
@Override
public boolean dispatchKeyEvent(KeyEvent event)
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getKeyCode() == KeyEvent.KEYCODE_BACK)
//do something what you want
return true;//返回true,把事件消费掉,不会继续调用onBackPressed
return super.dispatchKeyEvent(event);
方法三:使用测试框架Instrumentation,模拟任意键按下动作,注意的是该方法不能在主线程中使用,只能开启新线程,带来的问题就是反应速度较慢,项目中不建议使用。
调用actionKey(KeyEvent.KEYCODE_BACK);产生back键单击效果
以上是关于QML怎么处理android的back键的主要内容,如果未能解决你的问题,请参考以下文章
android 中按下返回键销毁activity的详细调用过程。 求大神解答。