你们真的能屏蔽Home键而不对程序产生影响吗?
2012-08-08 16:42
183 查看
最近做到一个项目,是和视频通话相关的。要求视频通话的过程中是不允许退出到后台的。
所以我们的做法是全屏+屏蔽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键!!!
还是尽量解决退到后台导致的问题吧!
所以我们的做法是全屏+屏蔽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键!!!
还是尽量解决退到后台导致的问题吧!
相关文章推荐
- Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开。(为了把问题写清楚,标题一定要长长长........)
- Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开
- RMI Spy对程序运行产生的影响(Eclipse 的RMI插件)
- WPF 屏蔽DPI改变对程序的影响的解决方案
- Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开。(为了把问题写清楚,标题一定要长长长........)
- android按home键再启动程序camera黑屏&屏蔽home键
- 通过软件程序消除单片机由外界干扰产生的异常复位的影响(基于STM8S105单片机)
- Android 屏蔽home键的方法和开机自启动程序
- 任意分布的随机数的产生方法—VC++程序实现方法
- MFC对话框程序屏蔽ESC和ENTER键退出
- android 屏蔽home键
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- android屏蔽返回键和home键等各个按键的方法
- 关于传指针还是引用的对程序速度的影响
- 程序在resin中运行时产生意外多条线程
- C# 中实现类似于WORD EXCEL 的动态缩放效果(客户后来说程序使用能产生乐趣)
- Try-Catch真的会影响程序性能吗
- C++ 控制台程序运行屏蔽console窗口
- 用VC让程序不产生控制台界面
- 程序猿们_你们对男人消费能力不如狗怎么看