uniapp如何关闭启动时读取精细位置信息的功能

在uniapp开发中,如何关闭应用启动时自动读取精细位置信息的功能?我在manifest.json里配置了权限,但每次启动还是会请求定位权限。请问需要在哪个配置文件中修改,或者需要添加什么代码才能禁用这个默认行为?

2 回复

在manifest.json的App模块配置中,取消勾选“位置权限”即可。或者手动删除代码中调用uni.getLocation的API。


在 UniApp 中,关闭启动时读取精细位置信息的功能,需要在项目的 manifest.json 文件中配置权限。以下是具体步骤:

  1. 打开 manifest.json
    在 UniApp 项目的根目录中找到 manifest.json 文件,打开并切换到“源码视图”。

  2. 修改权限配置
    "app-plus""distribute""permissions" 部分,移除或注释掉 "android.permission.ACCESS_FINE_LOCATION"(精细位置权限),保留 "android.permission.ACCESS_COARSE_LOCATION"(粗略位置权限)或直接删除位置权限。示例:

    {
      "app-plus": {
        "distribute": {
          "permissions": [
            // "android.permission.ACCESS_FINE_LOCATION", // 注释或删除此行
            "android.permission.ACCESS_COARSE_LOCATION"
          ]
        }
      }
    }
    
  3. 保存并重新打包
    修改后保存文件,重新编译生成 App 安装包(如通过 HBuilderX 发行原生安装包)。

注意

  • 此配置仅影响 Android 平台;iOS 需在 manifest.json"ios" 部分配置隐私描述,但默认不强制精细位置。
  • 移除权限后,App 将无法获取 GPS 等精确定位,需确保功能不受影响。
  • 如果使用第三方地图或定位插件,可能需同步调整插件配置。

通过以上步骤即可禁用启动时的精细位置获取。

回到顶部