最近做到一个项目,是和视频通话相关的。要求视频通话的过程中是不允许退出到后台的。
所以我们的做法是全屏+屏蔽Home,当然返回键肯定是挂断电话了。
但目前屏蔽Home键的方法无非就是钻了Android的一些漏子,把window type 设置成TYPE_KEYGUARD,TPYE_KEYGUARD_DIALOG或者是TYPE_SYSTEM_ALERT。这样确实framewok层在判断如过window type时如果是这几种确实是不会响应Home的操作的。
但是 2.2以前或许能行,2.2以后就难说了,而且得看不同的机型,厂家有没有修改源码,随便厂家怎么一改,你想在上层屏蔽Home简直是“不可能事件”
即便是这样,你不要以为2.2以前就可以高枕无忧了。
我们测试部门测出问题来了。
当你的Activity正创建的时候调完getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);这句话后,立马点Home,
很可惜,这个时候还可以点Home。为什么呢???
setType设到底层需要点时间撒,可能你这个值刚设进去,底下已经判断过去了。直接响应了Home的事件。
这下就悲剧了,你再把Activity调出来就已经无法去掉状态栏了(全屏有问题拉)。原因是这几种type的根本无法全屏显示的,这个是系统规定的。
当你锁屏时你看看状态栏有没有,有吧!因为它要给你看必要的信息,如来了短信之类的。
所以总结一下,应用层根本无法屏蔽Home键!!!
还是尽量解决退到后台导致的问题吧!
分享到:
相关推荐
7.如何屏蔽应用程序加速键?(Visual C++编程 源代码)7.如何屏蔽应用程序加速键?(Visual C++编程 源代码)7.如何屏蔽应用程序加速键?(Visual C++编程 源代码)7.如何屏蔽应用程序加速键?(Visual C++编程 源...
实现了针对android 4.0系统以上屏蔽home键的效果
针对android 4.0系统以下屏蔽home键的功能,简单易学,凑点字。
android 采用windowmanager屏蔽home键
完美屏蔽home键的比较文件 使用和详细描述请见: http://blog.csdn.net/y_haiyang/article/details/9924919 ====================关注小鱼=================== 新浪微博:http://weibo.com/AwareMissing 腾讯...
Android 4.4、5.1、6.0 屏蔽Home键,改动java文件
实现是通过AccessibilityService,国内部分厂商的rom可能不生效,本人测试的手机努比亚可以!
由于android4.0和2.x上的屏幕管理不一样,2.x上的屏蔽方法在4.0上会失效,使用一中新的方法来屏蔽4.0上的Home键。
系统的总结了市面上各android 处理器屏蔽HOME键的方法,相信会对你有一定的帮助和启发。
Android 5.0锁屏屏蔽HOME键的Demo。在模拟器跟2.3系统的三星手机跟5.1系统的一加2手机上测试均有效
Home+Back键可配合锁屏图案使用!
您使用本程序而导致任何伤害以及经济损失,由过错方依法承担所有责任,一概与第一作者及合作单位无关。 4.如果您使用本程序则表示您已经同意此版本协议!否则请勿使用! 项目功能: 这个框架主要演示创建一个全屏应用...
Android 屏蔽home,菜单,返回键 解锁,加锁
实测可行的Android 4.x锁屏屏蔽HOME键的Demo。在模拟器跟2.3系统的三星手机跟4.1系统的小米手机上测试均有效。
C#全局钩子屏蔽键盘按键Demo 可屏蔽键盘按键,组合键,Alt+F4等,亲测可用
该命令实现屏蔽的按键是左右Win键、左右Ctrl键、NumLock键、F1键、Alt + F4 组合键 同时,程序界面隐藏,没有任何显示,如需关闭,需要从进程中停止iHookKeyboard进程。 特殊情况: iHookKeyboard hide ALL ...
KeyboardShield 是一款实用的键盘屏蔽、重定义(改键)小工具,可以屏蔽键盘 按键(单一按键、组合按键皆可屏蔽),也可以将某一按键(或组合按键)重新定义为其他新的按键(可以将一个单一按键,重新定义成多个...
只要点击 屏蔽按钮 即可屏蔽键盘上的 很多按键 包括win键,和一些组合键
Android-HomeKey-Locker Utility to disable HOME KEY in Android Activity. As there are a lot questions about "how to disable home button in android?" on Stack Overflow, such as how to disable home ...
这是一个使用SetWindowsHookEx的程序,屏蔽了键盘按键(包括系统按键)。 如果只想屏蔽某个按键,请更改下面的代码。 Form1.Text1 = wParam Form1.Label1 = kk.vkCode & ":" & kk.scanCode & ":" & kk.Time 'If ...