【发布时间】:2020-09-03 16:12:31
【问题描述】:
运行以下代码时出现此错误:
None of the following functions can be called with the arguments supplied:
public constructor FusedLocationProviderClient(p0: Activity) defined in com.google.android.gms.location.FusedLocationProviderClient
public constructor FusedLocationProviderClient(p0: Context) defined in com.google.android.gms.location.FusedLocationProviderClient
代码:
import android.location.Location
import android.os.Build
import android.os.SystemClock
import com.google.android.gms.location.FusedLocationProviderClient
class startMockLocation {
fun main() {
var locationProvider = FusedLocationProviderClient() // I GET THE ERROR HERE
locationProvider.setMockMode(true)
val loc = Location("gps")
val mockLocation = Location("gps") // a string
mockLocation.latitude = 48.8566 // double
mockLocation.longitude = 2.3522
mockLocation.altitude = loc.altitude
mockLocation.time = System.currentTimeMillis()
mockLocation.accuracy = 1f
mockLocation.elapsedRealtimeNanos = SystemClock.elapsedRealtimeNanos()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mockLocation.bearingAccuracyDegrees = 0.1f
mockLocation.verticalAccuracyMeters = 0.1f
mockLocation.speedAccuracyMetersPerSecond = 0.01f
}
// locationManager.setTestProviderLocation(providerName, mockLocation)
locationProvider.setMockLocation(mockLocation)
}
}
如何解决此错误?我只是想将设备的位置设置为给定的坐标。我也遇到了更多问题,但这是主要错误。
【问题讨论】:
标签: android kotlin fusedlocationproviderapi android-fusedlocation