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

Kotlin实现实时定位时无法访问LocationRequest私有构造函数问题

错误原因
  1. 导包错误:当前导入的系统原生android.location.LocationRequest类构造方法为私有,不允许直接实例化。
  2. 实例化方式错误:Google Play Location服务对应的LocationRequest类在较新版本中也废弃了公开构造方法,需通过静态方法创建实例。
修复步骤
  • 第一步:替换导包
    删除代码中import android.location.LocationRequest,替换为:
import com.google.android.gms.location.LocationRequest
  • 第二步:修改LocationRequest实例化逻辑
    将iniciarLocationRequest()方法的代码修改为如下形式,可根据需求调整定位参数:
private fun iniciarLocationRequest() {
    locationRequest = LocationRequest.create().apply {
        // 普通定位更新间隔,单位毫秒
        interval = 10000
        // 其他应用触发更新时,本应用可接收的最短间隔
        fastestInterval = 5000
        // 定位优先级,PRIORITY_HIGH_ACCURACY为高精度模式,优先使用GPS
        priority = LocationRequest.PRIORITY_HIGH_ACCURACY
    }
}
  • 可选补充:确保依赖引入
    检查app模块build.gradle的dependencies配置中已添加定位服务依赖:
implementation 'com.google.android.gms:play-services-location:21.0.1'
  • 可选优化:修改Toast展示逻辑
    你当前onLocationResult中的Toast固定显示"a",可修改为展示实际坐标:
Toast.makeText(applicationContext, "${ubicacion.latitude} - ${ubicacion.longitude}", Toast.LENGTH_SHORT).show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:09:03