美文网首页
Android 8.0 悬浮窗问题

Android 8.0 悬浮窗问题

作者: David_zhou | 来源:发表于2018-10-26 17:24 被阅读316次

因为项目使用了老版本的RN,当时的RN的摇一摇弹窗的类型是TYPE_SYSTEM_ALERT。而这个类型在8.0 的手机上需要领额外申请权限。

导致8.0的手机使用摇一摇时崩溃。因此修改DevSupportManagerImpl 下面的showDevOptionsDialog() 最后的弹窗类型如下:

    注释掉的代码是之前出问题的代码,按照上面修改即可。

另外在8.0 的手机上找不到‘“可出现在顶部的应用程序” 这个权限入口,可以使用下面的方式调用系统的权限窗口。

if(Build.VERSION.SDK_INT >= 23){

    if (!Settings.canDrawOverlays(mApplicationContext)) {

        Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);

        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        mApplicationContext.startActivity(intent);

    } 

}

参考文献:

Android无需权限显示悬浮窗, 兼谈逆向分析app

Android悬浮窗TYPE_TOAST小结: 源码分析

Android 悬浮窗的小结

Android无权限弹悬浮窗适配8.0

Android 不依赖activity的全局悬浮窗实现

Android 8.0 悬浮窗变动与用法

Android WindowManager悬浮窗:不需要申请权限实现悬浮

android 7.1 游戏应用内悬浮窗 无视权限的终极方法

Android 悬浮窗及权限

相关文章

网友评论

      本文标题:Android 8.0 悬浮窗问题

      本文链接:https://www.haomeiwen.com/subject/wodltqtx.html