requestLocationUpdates выдает исключение

Я создаю сервис, который периодически обновляет должность. но используя следующий код, он бросает меня:

runException Can 'создать обработчик внутри потока, который не вызвал Looper.prepare ()

Этот код выполняется внутри doInBackground класса Async в службе

private void UpdatePosition()
    {
        locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);


        Location location = 
                locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        showPosition(location);
        locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                showPosition(location);
            }
            public void onProviderDisabled(String provider){

            }
            public void onProviderEnabled(String provider){

            }
            public void onStatusChanged(String provider, int status, Bundle extras){
                Log.i("LocAndroid", "Provider Status: " + status);

            }
        };


        locManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
    }

Я просмотрел несколько постов и обнаружил, что запрос должен выполняться без чтения, но не знаю, как и где его разместить.

Что я могу сделать?

EDIT: я»

Я добавлю только это в мой код и теперь не выкидываю ошибки

private void UpdatePosition()
    {
        Looper.prepare();
        looper = Looper.myLooper();
        locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);


        Location location = 
                locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        showPosition(location);
        locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                showPosition(location);
            }
            public void onProviderDisabled(String provider){

            }
            public void onProviderEnabled(String provider){

            }
            public void onStatusChanged(String provider, int status, Bundle extras){
                Log.i("LocAndroid", "Provider Status: " + status);

            }
        };


        locManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
    }

но я не знаю, правильно ли это .. что ты скажешь?

Ответы на вопрос(0)

Ваш ответ на вопрос