在level5以上(包含)中,activity类中的方法:public void onattachedtowindow ()就能对home键进行捕获。
具体代码如下:
mainactivity.java
package com.lingdududu.test; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.view.windowmanager; import android.widget.toast; public class mainactivity extends activity { /** called when the activity is first created. */ private boolean catchhomekey = false; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } @override public void onattachedtowindow() { // todo auto-generated method stub if (!catchhomekey) { this.getwindow().settype(windowmanager.layoutparams.type_keyguard); } super.onattachedtowindow(); } @override public boolean onkeydown(int keycode, keyevent event) { // todo auto-generated method stub if (keycode == keyevent.keycode_home) { toast.maketext(mainactivity.this, "你点击了home键", toast.length_long).show(); } return super.onkeydown(keycode, event); } }
当我们点击home键的时候,程序并没有回到主界面,而是停留在当前的页面,并且能捕获到home键,调用toast显示信息。
效果图:
以上就是android 获取,屏蔽 home 键的实例,希望能帮助有需要的小伙伴。
如对本文有疑问, 点击进行留言回复!!
Codeforces C. A Cookie for You (模拟 / 分类 / 贪心) (Round #654 Div.2)
DialogFragment弹窗(带黑色透明背景和不带黑色透明背景)
网友评论