禁用Android系统Home键
声明:资源来自https://github.com/shaobin0604/Android-HomeKey-Locker,可访问该地址直接下载,也可访问我的资源http://download.csdn.net/detail/youshenxuzuo/8575529下载,长期有效。
在项目开发中,有可能需要屏蔽Android系统虚拟按键 , 其中返回键相对容易禁用,以下两种办法都能解决:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ return true; } return super.onKeyDown(keyCode, event); }或者
@Override public 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.2
- CM11 (Google Nexus S, Moto Defy)
- Android 4.0.3
- Moto XT910
- Huawei C8812
- Android 4.0.4
- ZTE V889M
- Android 2.3.5
- HTC Desire S (Sense 3.0)
- Android 2.3.5
- HTC Desire S (Sense 3.0)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。