Android 8.0 悬浮窗问题
2018-10-26 本文已影响316人
David_zhou
因为项目使用了老版本的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 WindowManager悬浮窗:不需要申请权限实现悬浮