0

実際のデバイスでアプリをテストしておりnull、GPS がオンのときに位置を取得しています。ダミー座標を使用してエミュレーターでテストすると、正常に動作します。なにが問題ですか?

locationManager = (LocationManager) context.getSystemService(context.LOCATION_SERVICE);
listener = new MyLocationListener();
viaGps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
viaNetwork = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!viaGps && !viaNetwork) {
    tracking = false;
} else {
    if (viaGps) {
        Log.d("", "gps is on");
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
        location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    }else if (viaNetwork) {
        Log.d("", "network is on");
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);
        location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
    }
    if (location == null) {
        Log.d("", "location not fouond");
    }
4

2 に答える 2

0

これを使ってみてください、それは私の問題を解決しました

  double latitude = gps.getLatitude();
  double longitude = gps.getLongitude(); 

許可も確認してください

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
  <uses-permission android:name="android.permission.INTERNET"></uses-permission>
于 2013-03-11T15:09:00.337 に答える
0

Location リスナーが必要です。

ドキュメントに従ってください

アップデート:

その簡単な方法を試すこともできます: Android でユーザーの現在の場所を取得する最も簡単で堅牢な方法は何ですか?

于 2013-03-11T14:40:28.933 に答える