未使用的屏幕覆盖检测到的权限对话框

时间:2016-08-22 11:48:16

标签: android permissions sony-xperia runtime-permissions

我正在开发一个应用程序,允许用户使用google vision api连接到特定的wifi网络,以扫描包含ssid的QR码。要扫描wifi网络,我需要请求用户授予位置权限。如果我转到设置并手动启用“位置”权限但在运行时请求权限时,用户点击启用然后弹出第二个对话框,Screen Overlay Detected需要上下文切换以启用Screen Overlay权限。我没有吸引其他应用程序,当我手动启用位置权限时,没有任何问题。那么为什么这个权限对话框会弹出?

由于我不确定为什么Android要求此权限,我不确定要发布的代码。我已经包含了对更改网络请求所需的3个权限的请求。

final int permissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.CAMERA);
final int locationPermissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION);
final int wifiPermissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.CHANGE_WIFI_STATE);
final int granted = PackageManager.PERMISSION_GRANTED;
if ((permissionCheck != granted) || (locationPermissionCheck != granted) || (wifiPermissionCheck != granted)) {
    ActivityCompat.requestPermissions(mActivity, new String[]{
            Manifest.permission.CAMERA,
            Manifest.permission.ACCESS_COARSE_LOCATION,
            Manifest.permission.CHANGE_WIFI_STATE

    }, 0);

} else {
    cameraSource.start(cameraView.getHolder());
}

更新

结果证明它不仅仅是将其绊倒的位置许可。任何权限请求都会遇到相同的行为。

1 个答案:

答案 0 :(得分:0)

您可能正在使用的某些库需要屏幕叠加权限。您可以检查您正在使用的库以及他们需要的权限吗?