安卓模拟器Android SDK安装完整图文教程,在最新的Adroid4.0.3R2模拟器中,已经加入了GPU支持,可以支持OeGLES2.0标准,让开发者可以借助模拟器来测试自己的OeGL游戏。在去......
Android 如何检查悬浮窗是否显示
在我们的日常生活中,往往会遇到Android 如何检查悬浮窗是否显示的问题,常常会不知道怎么处理,下面就让小编为大家提供一下解决这种问题的方法,希望能够给大家提供一定的帮助。
方法/步骤
首先,设置WindowManager.LayoutParams.type = TYPE_TOAST即可绕过权限,因为在view添加之前系统执行了一个检查权限的操作PhoneWindowManager.checkAddPermission()。
然后,虽然经历了很多Android版本,但是我们关心的那部分一直没有什么大变化,就是当type == TYPE_TOAST的时候switch语句直接break了,从而跳过了接下来的权限检查。
然后,需要注意的一点是TYPE_TOAST在最新的Android 7.1.1上已经被oogle制裁了,只允许添加一个,并且在API 25之后会直接崩溃,具体代码可以查看这里。
然后,看一下WindowManager的diff就知道了,不过6.0以上oogle已经提供了通用方法来开启悬浮窗权限,下文会提到,推荐大家去引导用户开启,不要使用暴力的解决方式。
然后,在PhoneWindowManager.checkAddPermission()中,系统使用了一个叫AppOpsManager的类,最终调用其中的checkOp()方法来检查权限,但是这个方法本身是隐藏的。
最后,所以只能通过反射的方式来调用,另外还需要注意AppOpsManager是API 19才添加的,对于低于这个版本的系统并不能用此方法来检查权限。
注意事项
- 上述解决方法为小编所提供,希望能够帮到大家。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: Android
相关文章
- 详细阅读
- 详细阅读
-
Delphi XE7下如何创建一个Android模拟器调试详细阅读
Delphi XE7下如何创建一个Android模拟器调试,利用DelhiXE7我们可以进行多种设备程序的开发,尤其是移动开发应用程序得到不断地加强。在实际的Adroid移动程序开发中,如果我们直接用......
2023-03-17 405 Android