Android监听home键,亲测

    xiaoxiao2021-12-14  33

    在2.3版本以下重写下面方法就能重写home键 public void onAttachedToWindow() {       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);       super.onAttachedToWindow(); } 在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下: public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志 public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码     setContentView(R.layout.main); } 再重写onKey事件即可。 @Override       public boolean onKeyDown( int keyCode, KeyEvent event) {              // TODO Auto-generated method stub              if (keyCode == event. KEYCODE_HOME) {                    return true;             }              return super.onKeyDown(keyCode, event);       } PS: 在AndroidMainfest.xml需要加权限:   <uses-permission Android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 --> 在配置文件中,在你使用了Notification的activity中加一个属性 android:launchMode="singleInstance"//我加在了android:name=".MainActivity"下面 但是,home键屏蔽后,back键的onkeydown方法就会有冲突,屏蔽系统返回键就用到了 下面方法: @Override     public void onBackPressed() {         return;     }
    转载请注明原文地址: https://ju.6miu.com/read-968991.html

    最新回复(0)