声明:资源来自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);     } 
或者

@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.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)
不可用设备
  • MIUI
  • Flyme

更多相关文章

  1. android 中downloadmanager学习
  2. android classes.dex 反编译
  3. android数据保存
  4. 使用gradle来编译生成apk
  5. ActionBarSherlock的使用一
  6. android 中ids.xml资源的使用
  7. android 中断点续传理解
  8. 更新Android(安卓)SDK 出错 Failed to rename directory \temp
  9. Android(安卓)6.0中添加硬件抽象层(HAL)

随机推荐

  1. 安卓设置文字自动滚动
  2. Android支持不同的密度或分辨率
  3. Android自带的图标集合
  4. android布局属性详解
  5. 布局 遗忘 整理
  6. Android:res之selector背景选择器
  7. Android(安卓)Tutorial(3)Android(安卓)M
  8. Gradle sync failed: Could not GET 'htt
  9. android 加载图片到gallery
  10. 可点击价格走势图-贝塞尔曲线