声明:资源来自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() { }
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
原文:http://blog.csdn.net/maotong_2012/article/details/44946701