0

GPSを使用しています。これは私のコードです。

   public void onCreate() 
{
    super.onCreate();

    mLocationManager  = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    Location mLocation;

    if(mLocationManager.isProviderEnabled((LocationManager.GPS_PROVIDER)))
    {
        mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 2000, 10, myLocationListener);
        mLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        Temp = updateWithNewLocation(mLocation);
        Value.city = Temp;  
        Temp = "";
        LogShow("DataClass.City = " + Value.city);
        LogShow("GPS_PROVIDER enable");
    }
  }

getLastKnownLocation が NULL を返す理由がわかりません。したがって、updateWithNewLocation は空になります。私は許可ACCESS FINE LOCATIONを使用します。

どうすれば解決できますか?

4

3 に答える 3

0

私は同じ問題に遭遇します。あなたのコードはOKです。問題は、屋内にいるときに gps が信号を取得できず、gps プロバイダーの getLastKnownLocation メソッドが null を返すことです。屋外に行くときは、コードが正しく動作するはずです。

于 2015-11-05T12:53:40.397 に答える
0

getLastKnownLocation の代わりに、requestLocationUpdates を試してください。LocationListener を使用して、場所の更新をリッスンできます。より詳しい情報:

https://developer.android.com/reference/android/location/LocationListener.html

参照リンク

于 2013-03-19T08:02:57.907 に答える