Обновления местоположения Android GPS не работают - PullRequest
0 голосов
/ 27 апреля 2010

Я пытаюсь определить местоположение моего волшебного устройства GPS с помощью следующего кода:

public class TestGPS extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    final TextView tv1 = (TextView)findViewById(R.id.tv1);
    final TextView tv2 = (TextView)findViewById(R.id.tv2);
    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener()
    {

        public void onStatusChanged(String provider, int status, Bundle extras)
        {
        }

        public void onProviderEnabled(String provider)
        {
        }

        public void onProviderDisabled(String provider)
        {
        }

        public void onLocationChanged(Location location)
        {
            tv1.setText(String.valueOf(location.getLatitude()));
            tv2.setText(String.valueOf(location.getLongitude()));
        }
    });
}

}

Я ждал 5 минут, но ни один из методов слушателя не был вызван. Значок GPS появляется, остается там в течение некоторого времени, но по какой-то причине я не могу исправить, даже на улице при ярком солнечном свете. Я тестирую на HTC Magic с 1.6 SDK.

Может кто-нибудь сказать, что не так с кодом? Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2010

Код выглядит хорошо. Убедитесь, что у вас есть разрешение ACCESS_FINE_LOCATION. Убедитесь, что ваш GPS не сломан - другими словами, знает ли встроенное приложение Карт, где вы находитесь? Убедитесь, что ваше приложение работает на эмуляторе с исправлением, поставляемым через эмулятор.

Вот пример проекта , который использует GPS и отлично работает на аппаратном обеспечении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...