Android 物理按键整理及实例代码
程序员文章站
2024-03-05 12:28:36
先给大家看一段代码,然后说明。
import android.app.activity;
import android.os.bundle;
import...
先给大家看一段代码,然后说明。
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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!