在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 键的实例,希望能帮助有需要的小伙伴。