Собственный класс для отслеживания местоположения с помощью LocationManagerApi не работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Собственный класс для отслеживания местоположения с помощью LocationManagerApi не работает

Сообщение Anonymous »


Я написал класс для отслеживания положения смартфона. Для этого я использую LocationManagerAPI. Это мой класс:

import android.annotation.SuppressLint импортировать android.content.Context импортировать android.location.Location импортировать android.location.LocationListener импортировать android.location.LocationManager импортировать android.util.Log класс NetworkLocationTracker { частная переменная широта: Double = 0,0 частная переменная долгота: Double = 0,0 частная переменная locationManager: LocationManager частный вар locationListener: LocationListener? = ноль конструктор (контекст: Контекст) { this.locationManager = context.getSystemService(Context.LOCATION_SERVICE) как LocationManager this.locationListener = объект: LocationListener { переопределить fun onLocationChanged(location: Location) { setLatitude(location.latitude) setLongitude(location.longitude) } } } @SuppressLint("Миссингпермиссион") весело startLocationTracking() { if(this.locationListener!= null) { this.locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0L, 0f, this.locationListener как LocationListener) } } весело stopLocationTracking() { если (this.locationListener != null) { this.locationManager.removeUpdates(this.locationListener как LocationListener) this.locationListener = ноль } } весело getLatitude(): Double { верните эту.широту } весело getLongitude(): Double { верните это.долгота } fun setLatitude(latitude: Double) { this.latitude = широта } весело setLongitude(долгота: Double) { this.longitude = долгота } } Вот код, который я использую для тестирования класса:

var nlt = NetworkLocationTracker(this) nlt.startLocationTracking() for(i в 1..10) { Thread.sleep(1000) Log.d("Отладка", "${nlt.getLatitude()} ${nlt.getLongitude()}") } nlt.stopLocationTracking() Когда я запускаю тестовый код, я получаю только значения 0,0 и 0,0 для позиции.

Я активировал службу определения местоположения и не получаю никаких сообщений об ошибках. Разрешения также обрабатываются правильно. Может ли кто-нибудь найти ошибку в моем классе и подсказать?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»