Я не могу запустить приложение на Android, но эмулятор может - PullRequest
2 голосов
/ 27 декабря 2010
protected void showCurrentLocation(){
 Location lc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
 if(lc != null){
  String msg = String.format("Current Location \n Logitude: %1$s \n Latitude: %2$s",lc.getLongitude(),lc.getLatitude());
  Toast.makeText(Test1.this,msg,3000).show();
 }
 Toast.makeText(Test1.this,"location is null",3000).show();
} 

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

http://www.javacodegeeks.com/2010/09/android-location-based-services.html

Это исходный код, который я должен попробовать.Пожалуйста, помогите мне.Спасибо ка:))

Ps.У меня уже есть ACCESS_FINE_LOCATION, ACCESS_MOCK_LOCATION и ACCESS_COARSE_LOCATION

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

Есть ли у вашего приложения разрешения на использование GPS?

http://developer.android.com/reference/android/Manifest.permission.html

PS: Здесь (/914536/android-locationmanager-getlastknownlocation-vozvraschaet-nol) предлагается следующее - использовать LocationListener

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
    //TODO:enter your code here
    }
}

Также вы можете использовать LocationOverlay:

 final MyLocationOverlay overlay = new MyLocationOverlay(this, mapView);
        overlay.enableMyLocation();
        overlay.runOnFirstFix(new Runnable() {
           public void run() {
             //TODO: update some model, etc
           }
        });
0 голосов
/ 27 декабря 2010

Дейзи, я думаю, что вы боретесь с концепцией getLastKnownLocation ().В эмуляторе вы вручную отправляете фиктивное местоположение, и действительно, когда вы запускаете свой код, оно действительно является последним известным.На вашем реальном телефоне может быть не последнее известное местоположение, но ...

Вы, вероятно, думаете "Но мой телефон всегда не знает его местоположение", и ответ может быть, но не всегда.

Итак, как уже упоминалось выше, вам действительно нужно написать свой код для прослушивания обновлений местоположения от менеджера местоположений

...