Android开发_关于如何屏蔽Home键
2015-12-21 11:18
423 查看
今天在遇到一个要屏蔽Home键的问题,研究一上午终于解决,方法记录于下:
在Android2.3版本以下重写以下方法就能屏蔽Home键:
在Android4.0以上版本用onAttachedToWindow()方法会报错,需要利用以下方法屏蔽:
再重写onKeyDown方法即可:
在AndroidMainfest.xml需要加权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在你使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
在Android2.3版本以下重写以下方法就能屏蔽Home键:
public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }
在Android4.0以上版本用onAttachedToWindow()方法会报错,需要利用以下方法屏蔽:
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); }
再重写onKeyDown方法即可:
@Override public boolean onKeyDown( int keyCode, KeyEvent event) { if (keyCode == event. KEYCODE_HOME) { return true; } return super.onKeyDown(keyCode, event); }
在AndroidMainfest.xml需要加权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在你使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
相关文章推荐
- ListView加载不同布局
- Android 了解Activity
- android camera HAL v3.0详细介绍(二)
- android camera HAL v3.0详细介绍(一)
- android camera系统3A模式及其状态转换(二)
- android camera系统3A模式及其状态转换(一)
- android camera HAL v3.0中元数据及其控制
- android下assets文件夹和raw文件夹
- android----------ListView的优化
- 在Android中读取文件
- Android网络判断知识小结
- android camera HAL v3.0概述
- Android camera子系统HAL层介绍集锦
- android camera接口介绍
- Android ListView圆角
- Android编程中activity的完整生命周期实例详解
- 如何查看Android keystore 信息
- Android ListView的设计与使用 《第一行代码》
- Android之sqlite数据库的简单使用
- android在SD卡不同目录下获取文件