先给大家看一段代码,然后说明。
import android.app.activity; import android.os.bundle; import android.util.log; import android.view.keyevent; import android.widget.toast; public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } //我们在处理物理按键事件时,提供的回调方法有onkeyup(),onkeydown(),和onkeylongpress(),比如音量键、返回键 @override public boolean onkeydown(int keycode, keyevent event) { if(keycode == keyevent.keycode_back){ log.e("tag", "这是监听键盘操作,按下了back键"); } return super.onkeydown(keycode, event); } @override public boolean onkeyup(int keycode, keyevent event) { if(keycode == keyevent.keycode_volume_up){ log.e("tag", "音量加键"); } return super.onkeyup(keycode, event); } //activity中,我们可以重写onbackpressed()方法来处理返回键,如两次按键退出 //第一次按下的时候,记录事件 //第二次按下的事件减去第一次按下的时间小于2s就退出,否则将当前时间赋给第一次事件 long starttime; @override public void onbackpressed() { log.e("tag", "监听back键"); if(system.currenttimemillis()-starttime<2000){ super.onbackpressed();//释放资源,这个也可以直接finish(),但调用父类的释放的更彻底 }else{ //记录当前时间 starttime = system.currenttimemillis(); toast.maketext(this, "再按一次back键退出", toast.length_short).show(); } } }
一些常用物理按键
电源键 keycode_power
后退键 keycode_back
菜单键 keycode_menu
home键 keycode_home
相机键 keycode_camera
音量键 keycode_volume_up / keycode_volume_dowm
搜索键 keycode_search
方向键 keycode_dpad_center
keycode_dpad_up
keycode_dpad_down
keycode_dpad_left
keycode_dpad_right
键盘键 keycode_0...keycode_9
keycode_a....keycode_z
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论