youshenxuzuo的专栏

声明:资源来自https://github.com/shaobin0604/Android-HomeKey-Locker,可访问该地址直接下载,也可访问我的资源下载,长期有效。

在项目开发中,有可能需要屏蔽Android系统虚拟按键 , 其中返回键相对容易禁用,以下两种办法都能解决:

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){return true;} return super.onKeyDown(keyCode, event);} 或者

@Overridepublic void onBackPressed() {}接下来讲解屏蔽home键的办法:

1、下载上述资源,解压文件;

2、将HomeKeyLocker.java文件拷贝到你的项目中;

3、<style name="OverlayDialog" parent="@android:style/Theme.Dialog"><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowFrame">@null</item><item name="android:windowNoTitle">true</item><item name="android:windowIsFloating">true</item><item name="android:windowIsTranslucent">false</item><item name="android:backgroundDimEnabled">false</item></style>拷贝到你的styles.xml文件中;

4、将<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

复制到AndroidManifest.xml文件中;

5、在需要屏蔽的Activity文件中添加代码:

private HomeKeyLocker mHomeKeyLocker;

public void onCreate(Bundle paramBundle) {<span style="white-space:pre"></span>mHomeKeyLocker = new HomeKeyLocker();<span style="white-space:pre"></span>mHomeKeyLocker.lock(LoginActivity.this);}

protected void onDestroy() {<span style="white-space:pre"></span>mHomeKeyLocker.unlock();mHomeKeyLocker = null;super.onDestroy();}。

以上5步可以实现禁用Home键。

实测可用设备:

Android 4.4.4

Samsung Tab4

Android 4.4.2CM11 (Google Nexus S, Moto Defy)Android 4.0.3Moto XT910Huawei C8812Android 4.0.4ZTE V889MAndroid 2.3.5HTC Desire S (Sense 3.0)Android 2.3.5HTC Desire S (Sense 3.0)不可用设备MIUIFlyme

,用最多的梦面对未来

youshenxuzuo的专栏

相关文章:

你感兴趣的文章:

标签云: