我正在尝试使用 FusedLocationProviderClient 和 Kotlin 协程请求一个新位置。这是我目前的设置:
class LocationProviderImpl(context: Context) : LocationProvider, CoroutineScope {
private val TAG = this::class.java.simpleName
private val job = Job()
override val coroutineContext: CoroutineContext
get() = job + Dispatchers.IO
private val fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context)
private val locationRequest = LocationRequest().apply {
numUpdates = 1
priority = LocationRequest.PRIORITY_HIGH_ACCURACY
}
override suspend fun getLocation(): LatLng = suspendCoroutine {
val locationCallback = object : LocationCallback() {
override fun onLocationResult(result: LocationResult) {
result.lastLocation.run {
val latLng = latitude at longitude
it.resume(latLng)
}
fusedLocationProviderClient.removeLocationUpdates(this) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在模拟器中运行Flutter的示例应用程序。但是,当我尝试运行(通过Android Studio或通过命令行)时,出现以下异常:
Finished with error: ProcessException: Process
"C:\android_projects\flutter_app\android\gradlew.bat" exited abnormally:
Exception in thread "main" java.lang.NullPointerException
at org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:34)
at
org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Command: C:\android_projects\flutter_app\android\gradlew.bat -v
Run Code Online (Sandbox Code Playgroud)
当我运行扑扑医生时,一切都很好,我也接受了所有许可证。
欢迎任何帮助!