Странный LocationListener через поведение провайдера GPS Android: "updateGps: GPS включен, но не получает исправления" - PullRequest
0 голосов
/ 28 ноября 2011

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

Эта ошибка, по-видимому, связана с поставщиком LocationManager.GPS_PROVIDER, если я использую LocationManager.NETWORK_PROVIDER, это работает. Поэтому я думаю, что проблема связана с GPS. Я вижу что-то странное в журнале:

1-28 16:52:23.120: D/StatusBarPolicy(2815): [GPS ICON] updateGps : GPS is on, but not receiving fixes

Разрешения в манифесте в порядке:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

И я не могу найти более подходящую информацию.

Я уже пробовал базовую очистку / перезапуск на моем Eclipse и устройстве (я не тестирую на эмуляторе). Я собираюсь разозлиться, есть ли у кого-нибудь идеи о том, что попробовать до этого?

РЕДАКТИРОВАТЬ:

Вот какой-то глупый простой код, который тоже не работает. Я что-то упустил?

package com.mytest;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;

public class GPSTestActivity extends Activity implements LocationListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LocationManager locationManager = (LocationManager) this
                .getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

        Log.v("test", "launched");
    }

    @Override
    public void onLocationChanged(Location location) {
        Log.v("test", "location received ! "+location.getLatitude()+";"+location.getLongitude());
    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.v("test", "location provider disabled");

    }

    @Override
    public void onProviderEnabled(String provider) {
        Log.v("test", "location provider enabled");

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        Log.v("test", "location provider status changed");

    }
}

РЕДАКТИРОВАТЬ : см. Комментарии Даниеле

1 Ответ

1 голос
/ 28 ноября 2011

Вы внутри здания?Может ли быть так, что GPS просто не может получить починку?Если это сработало ранее, то это было (вероятно), потому что вы читали последнее известное местоположение с GPS.Описание вашей проблемы заставляет меня думать, что нет проблемы ...

Daniele

...