解决安卓7.1.1悬浮窗自动消失问题

时间:2024-03-27 22:47:58

解决安卓7.1.1悬浮窗自动消失问题
目前做的一个项目中,用到了安卓悬浮窗。这个东西在大多数手里的手机上运行都正常,直到我用了一台车机(类似安卓平板电脑)进行调试,发现悬浮窗悬浮3秒左右后自动消失。

随后我打印了所有调用悬浮窗removeView的地方,发现并没有异常将悬浮窗remove。之后百度。

解决安卓7.1.1悬浮窗自动消失问题
发现一加论坛中,小米论坛中许多升级7.1.1的用户都出现了这种状况。可以判断这是一个安卓7.1.1的通病。

刚开始在CSDN中查找,解决悬浮窗的问题有将APP设置成persisrent,(在androidmanifest文件中修改。)等解决办法,对我来说都没用。

后来继续百度,在WindowManager中有一个type可以设置。
在大于API19时通常采用WindowManager.LayoutParams.TYPE_TOAST
小于时采用 WindowManager.LayoutParams.TYPE_PHONE

我在这里将type设置成 WindowManager.LayoutParams.TYPE_PHONE(之前是土司toast)
在此处起作用了,悬浮和窗恢复正常。
解决安卓7.1.1悬浮窗自动消失问题
最后一个if中识别了车机型号,type改成phone,成功解决。