即使用户授予位置权限检查,三星 note 20 也总是会被拒绝

Posted

技术标签:

【中文标题】即使用户授予位置权限检查,三星 note 20 也总是会被拒绝【英文标题】:Location permission check always get denied on samsung note 20 even the user grant it 【发布时间】:2021-12-31 09:37:14 【问题描述】:

我正在尝试在我的应用上获取位置访问权限,它工作正常,但我发现 Samsung note 20 存在位置权限问题,当用户允许位置权限时,我的应用会得到以下结果它总是被拒绝,这是我的位置检查

  fun requestPermissions(activity: Activity, requestCode: Int) 
        ActivityCompat.requestPermissions(
            activity,
            arrayOf(
                Manifest.permission.ACCESS_COARSE_LOCATION,
                Manifest.permission.ACCESS_FINE_LOCATION
            ),
            requestCode
        )
    

//

  if (ActivityCompat.checkSelfPermission(
                    activity,
                    Manifest.permission.ACCESS_FINE_LOCATION
                ) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(
                    activity, Manifest.permission
                        .ACCESS_COARSE_LOCATION
                ) == PackageManager.PERMISSION_GRANTED
            ) 
    // code goes here 
    
    

【问题讨论】:

【参考方案1】:

始终检查“developer.android.com”是否有任何新变化,特别是针对每个新的 android 版本,这是谷歌新的隐私政策:

在 Android 12(API 级别 31)或更高版本上,用户可以请求您的应用仅检索大致位置信息,即使您的应用请求 ACCESS_FINE_LOCATION 运行时权限也是如此。

要处理这种潜在的用户行为,请不要单独请求 ACCESS_FINE_LOCATION 权限。相反,在单个运行时请求中同时请求 ACCESS_FINE_LOCATION 权限和 ACCESS_COARSE_LOCATION 权限。如果您尝试仅请求 ACCESS_FINE_LOCATION,系统会在某些 Android 12 版本上忽略该请求

【讨论】:

但正如我提出的问题,我已经在一个请求中同时使用了 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION

以上是关于即使用户授予位置权限检查,三星 note 20 也总是会被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是已在 React Native Android 中授予相机权限?

三星I9300下载东西在下载的时候总是弹出自动弹出授予超级用户权限 啥意思?

即使在 Ar.js 中的浏览器中授予权限后,地理定位访问被拒绝弹出窗口也会显示

这个应用程序如何立即请求后台位置权限?

即使 IAM 策略授予访问权限,Web 应用程序也无法访问私有 s3 文件

即使似乎授予访问权限,Google Calendar API在OAuth期间也会出现403错误