You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已声明ACCESS_COARSE_LOCATION等权限,为何代码仍报未解析引用错误?

Android权限常量未解析引用问题解决方案

出现ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION未解析引用的错误,核心原因是代码中未正确导入权限常量对应的包,以下是具体解决步骤:

  • 添加正确的导入语句
    在MainActivity.kt文件的顶部,添加Manifest权限类的导入:

    import android.Manifest
    

    或者直接导入具体的权限常量,简化代码写法:

    import android.Manifest.permission.ACCESS_COARSE_LOCATION
    import android.Manifest.permission.ACCESS_FINE_LOCATION
    

    导入后,代码中Manifest.permission.ACCESS_COARSE_LOCATION或直接使用ACCESS_COARSE_LOCATION的写法就能被正确识别。

  • 验证SDK版本配置
    打开模块级别的build.gradle.kts(或build.gradle)文件,确保compileSdk版本不低于权限要求的最低版本(这类定位权限最低支持SDK 1,但动态权限请求需要SDK 23及以上),示例配置:

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 23
            targetSdk 34
        }
    }
    
  • 同步项目并清理缓存
    完成上述配置后,点击Android Studio工具栏的「Sync Project with Gradle Files」按钮同步项目;若仍有错误,可通过「File → Invalidate Caches... → Invalidate and Restart」清理缓存并重启IDE。

补充说明

Manifest文件中声明权限是运行时权限请求的必要步骤,但代码中引用权限常量需要依赖Android SDK提供的类,因此导入包是关键前提。

内容的提问来源于stack exchange,提问作者Deusnominus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 23:37:18