Не удается получить местоположение от GPS в Android (onLocationChanged не вызывается)
Моя проблема в том, что я не могу получить координаты GPS с помощью класса LocationManager и LocationListener. Может быть, если я покажу вам свой код, вы поймете. Это код, который я звоню в OnCreate()
:
locMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
currentLocListener = new MyLocationListener();
locMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, currentLocListener);
locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, currentLocListener);
И у меня есть класс MyLocationListener
который реализует класс LocationListener
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
String coordinates[] = {""+location.getLatitude(),""+location.getLongitude()};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
GeoPoint p = new GeoPoint((int)(lat*1E6), (int)(lng*1E6));
mc.animateTo(p);
mc.setZoom(19);
MyMapOverlays marker = new MyMapOverlays(p);
List<Overlay> listofOverLays = mapview.getOverlays();
listofOverLays.clear();
listofOverLays.add(marker);
mapview.invalidate();
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "GPS is disabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "GPS is Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
Я могу получить местоположение, издеваясь над местоположением в Emulator Control в DDMS. Поэтому я пытаюсь проверить на моем реальном телефоне. когда я устанавливаю его на свой телефон, он не может получить текущее местоположение автоматически, хотя я включил GPS и Wi-Fi.
Я пытаюсь запустить другое приложение Google Map с рынка на моем реальном телефоне, он работал нормально. Я не понимаю, что не так с кодом... кто-нибудь может мне помочь?