0

リスナーを登録し、位置の更新を要求するメソッドがあります。onLocationChanged メソッドではなく、現在のメソッド自体で位置座標を取得したいと思います。

私のコードは次のとおりです:-

myclass {

   onCreate {
      location_Manager = (LocationManager) getSystemService (Context.LOCATION_SERVICE);
      locLstnr = new myLocationlistener();
      locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, Loc_listener.MINIMUM_TIME_BETWEEN_UPDATES, Loc_listener.MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, locLstnr);
   }

   class myLocationListener () {
      onLocationChanged() { ... }
      onProviderDisabled() { ... }
      onProviderEnabled() { ... }
   }

}

getLastKnownLocation() を取得できることは知っていますが、利用できない場合は、場所を取得することはできませんか? これこれは似たような質問ですが、私には役に立ちません。onLocationChanged メソッドの使用に問題はありませんが、onCreate メソッドに場所が必要です。それは可能ですか?1 つの方法として、場所を myLocationListener の変数に格納してアクセスする方法がありますが、別の方法やより良い解決策はありますか?

4

1 に答える 1

1

getLastKnownLocation()がnullを返す場合は、コールバックを待つ必要があると思います。

ただできることは更新を要求することができます

locationManager.requestLocationUpdates(locationProvider, 0, 0, locationListener); 

http://devdiscoveries.wordpress.com/2010/02/04/android-use-location-services/

リンクから

getLastKnownLocation() is faster after a connection has been established with the GPS satellite. For the first time, it will return null, or no value till no connection is established. You can add a GpsListener to know when the location is obtained. Search about "how to get a gps fix" and you might get answer to your question

リンクを参照してください

于 2012-06-13T10:45:00.480 に答える