Получение последнего местоположения с помощью Kotlin

Я пытаюсь получить текущее местоположение пользователя, использующего приложение для заметок, а затем сохранить его в строке, которая будет отображаться в сохраненной заметке. У меня серьезные проблемы с этим, когда приложение не показывает местоположение из-за функции, поскольку это, кажется, единственное, что возвращает мне ошибку.

private fun fetchLocation(): String {

        if (hasLocationPermission()) {

            val task = if (ActivityCompat.checkSelfPermission(
                    context!!,
                    Manifest.permission.ACCESS_FINE_LOCATION
                ) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(
                    context!!,
                    Manifest.permission.ACCESS_COARSE_LOCATION
                ) != PackageManager.PERMISSION_GRANTED
            ) {
                EasyPermissions.requestPermissions(
                    requireActivity(),
                    "This app needs access to your general location",
                    RECORD_LOCATION_COARSE_PERM,
                    Manifest.permission.ACCESS_COARSE_LOCATION
                )
                EasyPermissions.requestPermissions(
                    requireActivity(),
                    "This app needs access to your exact location",
                    RECORD_LOCATION_FINE_PERM,
                    Manifest.permission.ACCESS_FINE_LOCATION
                )
                fusedLocationProviderClient.lastLocation
            } else fusedLocationProviderClient.lastLocation
            fusedLocationProviderClientClient.lastLocation
                .addOnSuccessListener { location: Location? ->
                    latitude = location?.latitude
                    longitude = location?.longitude
                }
        }

        return locationString
    }
}

где вы присвоили местоположение переменной locationString?

Shay Kin 07.04.2021 03:28

необходимо дождаться вызова метода onSuccess. в вашем коде напрямую вернул locationString

Shay Kin 07.04.2021 03:33
locationString не назначен в вашем коде. пожалуйста, разместите больше кода.
Daniel.Wang 07.04.2021 04:10
3
3
22
0

Другие вопросы по теме