位置访问拒绝设置,checkSelfPermission 总是返回 Granted (0) - Android

Location Access Deny from setting, checkSelfPermission returning always Granted (0) - Android

我的应用程序使用的是目标发布版本 22。我在 manifest 文件中提到了 FINE_LOCATION 权限。 当我 运行 我的应用程序在 android 6.0.1 上时,它在我显示当前位置的地图视图中工作正常。 但是当用户从应用程序设置获得 "Deny" 权限时,我遇到了问题,然后由于权限异常,应用程序开始崩溃。

当我使用下面的代码时

if ((ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)) 
                    ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, REQUEST_LOCATION_PERMISSION);
            }

但是这段代码总是返回 PackageManager.PERMISSION_GRANTED。 有人可以帮助解决这个问题吗?

我已经浏览过这些链接 -

已使用PermissionChecker 解决。 PermissinChecker return Granted/Deny 的状态,即使构建版本低于 23

if(Build.VERSION.SDK_INT >= 23){
    int permissionStatus = PermissionChecker.checkSelfPermission(context, permission);
    if(permissionStatus != PackageManager.PERMISSION_GRANTED){
        ActivityCompat.requestPermissions(context, new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, 101);
        return false;
    }
}