android 4.0 禁用系统home键
2.2 禁用系统home键。这里不说了。
近期项目有一个需求,禁用系统的全部键。像menu, home, back.同一时候还要是想点击响应与view的弹出。
就是UI这部分要正常。
back键我们自己onKeyDown 禁用的好开心。
个人觉得最简单的写法请移步:
http://blog.csdn.net/yiding_he/article/details/38527813
这里关键说下4.0后禁用系统home键。
网上找了非常久,基本上都是不能用的。由于都是说由于系统安全原因。android系统把这个事件(home,menu)在框架层就给吸收掉了,并且根本没有分发到应用层。
The Menu key can't be disabled for security reasons, this key is handled by the framework and is never delivered to applications.
http://stackoverflow.com/questions/15459407/disable-home-button-in-android-4-0
看吧,老外的stack overflow上都说没办法。
就当我接近失望时。随便点进了一个搜索页中的某大神的github,https://github.com/shaobin0604/Android-HomeKey-Locker,随便下载试了下,居然work了。
更重要的是这个大神是偶们中国人。
太牛掰了。
膜拜。这里就不细说大神是怎么实现的了,秘诀是建立一个OverlayDialog, 给它设置了一些參数像FLAG_SHOW_WHEN_LOCKED,FLAG_NOT_TOUCH_MODAL等等。
有想研究的同学,请自行下载源代码学习。
这里仅仅说一下使用:
1.到https://github.com/shaobin0604/Android-HomeKey-Locker, 下载大神的代码。
2.HomeLockLib中的HomeKeyLocker.java放到自己的Util包下。
3.HomeLockLib中的styles中的OverlayDialog相关部分复制到自己的styles中。
4.在你自己的AndroidManifest中增加
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
5.在想要锁键的地方new HomeKeyLocker 对象。
private HomeKeyLocker mHomeKeyLocker;
mHomeKeyLocker = new HomeKeyLocker();
之后须要锁键使用:
mHomeKeyLocker.lock(mActivity.this);
解锁使用:
mHomeKeyLocker.unlock();
6.在自己的destroy方法中增加:
@Overrideprotected void onDestroy() {super.onDestroy();mHomeKeyLocker.unlock();mHomeKeyLocker = null;}
这样就能够开心的玩耍了。
转载于:https://www.cnblogs.com/yfceshi/p/7258463.html
android 4.0 禁用系统home键相关推荐
- tiny4412开发板实现uboot引导启动android 5.0.2系统
1目的 实现uboot引导启动android 5.0.2系统. 2 现有环境 友善之臂tiny 4412开发板,superboot引导启动android5.0.2系统,内核版本为linux3.0.8. ...
- Android 4.0.4系统下实现apk的静默安装和启动
转自http://www.linuxidc.com/Linux/2013-02/79403.htm 未亲测 最近在Android 4.0.4系统下实现apk的静默安装和启动的功能,这里和大家分享一下, ...
- android 7原生动态壁纸,手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜!...
原标题:手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜! 安卓系统的碎片化一直是被人们所诟病,苹果手机IOS系统升级的速度和占比一直都非常高,而安卓手机却相比都非常差,三星,华为 ...
- 小米刷 android o,一代神机!五年前的小米2刷入Android 8.0原生系统
五年前的小米手机2竟然能刷Android 8.0原生系统.做个比较,2012年推出的iPhone 5已经不能升级最新的iOS11了. 小米2是小米于2012年8月发布的一款产品,距今已经超过5年零三个 ...
- Android 9.0 显示系统导航栏(左/右/底部)
Android 9.0 显示系统导航栏(左/右/底部) 显示系统导航栏 一般有:HOME BACK 最近应用列表 等组成. 先看下效果图: 显示在底部(最常见的做法): 显示在右边(平板): (请 ...
- android 8.0 调系统拍照_Android通知栏微技巧,8.0系统中通知栏的适配
为什么要进行通知栏适配? 不得不说,通知栏真是一个让人又爱又恨的东西. 通知栏是Android系统原创的一个功能,虽说乔布斯一直认为Android系统是彻彻底底抄袭iOS的一个产品,但是通知栏确实是A ...
- Android 12.0 禁用和启用拨打电话功能实现
1.项目需求 在12.0的产品定制化开发中,在一些wifi产品的产品开发中,对于系统4g部分的功能需要裁剪 比如拨打电话 接听电话 短信功能等这部分 需要禁用系统对应的功能,接下来就来初步分析下系统中 ...
- android4.0 菜单,Android 4.0.4系统曝光 增新Power菜单
[IT168 资讯]尽管Android4.0.3已经推出很久了,但是目前为止,三星Galaxy Nexus运行的仍旧是Android4.0.2的系统更新,与4.0.3相比,4.0.2版本不仅应用界面不 ...
- Android 8.0以上系统应用如何保活
最近在做一个埋点的sdk,由于埋点是分批上传的,不是每次都上传,所以会有个进程保活的机制,这也是自研推送的实现技术之一:如何保证Android进程的存活. 对于Android来说,保活主要有以下一些方 ...
最新文章
- iOS开发之 - 好玩的富文本
- Dom4J的基本使用
- linux 下如何安装php,详解在Linux下如何安装配置PHP
- 根据输入的出生日期计算到今天之间的天数
- Mina学习之搭建项目工程目录
- 一个微积分不等式---积分不等式,微分证明法
- android studio 创建项目失败原因Failed to create
- w讠ndows的中文读音,广西壮族自治区
- 整篇文章翻译软件对接谷歌等各大翻译平台
- 用C++写一个简单的表白小程序
- 面试季,覆盖70%-80%的面经基础题(java及安卓)-------java篇
- 如何免费申请博客 用WordPress建设网站
- 工具说明书 - FTDI芯片的USB转UART串口线
- js 数字不足位数补0
- flashfxp搜索服务器文件夹,FlashFXP 命令行参数
- 拼多多秒杀活动的谣言
- 树莓派Pico与ADXL345三轴加速度传感器SPI总线接口技术及MicroPython编程
- mysql 查询和修改组合_别崩溃,来看这个MySQL全面瓦解:子查询和组合查询
- windows10拦截广告设置
- C++ Primer Plus读书笔记
热门文章
- WPF DataGrid 和LINQ to SQL示例程序之一 (提供源代码下载)
- FAST算法学习笔记
- adb指令通过uid控制_图文教程:PC利用adb工具通过CMD命令控制手机动作(备忘笔记)...
- Java接口自动化之TestNG单元测试框架(一)
- APP自动化测试系列之3种元素定位工具
- APP测试之使用ADB可能遇到的错误及解决办法
- Uniswap V3 24小时交易量达12.9亿美元
- 内河港口首次实现区块链无纸化进口放货
- 加拿大上市公司Vinergy更新投资政策 将涉及比特币数字货币等投资
- 一文读懂kafka(附加52道常见面试题)