0

私の要件は、90 秒ごとに位置情報の更新を取得することです。これにはネットワークプロバイダーを使用しています。

私は以下のようにこれをやっています:

locationManager.requestLocationUpdates(
        LocationManager.NETWORK_PROVIDER, 
        MINIMUM_TIME_BETWEEN_UPDATES, 
        MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,
        new MyLocationListener());

90000ここで、このメソッドでは、 as MINIMUM_TIME_BETWEEN_UPDATES、および0asを渡してMINIMUM_DISTANCE_CHANGE_FOR_UPDATESいるため、予想される結果は、リスナー メソッドonLocationChanged()が毎秒呼び出されること90です。

しかし、結果として、onLocationChanged()メソッドは最初に75数秒で呼び出され、次に数秒で呼び出され105、次に75, 105, ... と続きます。

私の要件は、異なる期間/期間ではなく、毎秒位置の更新を取得することです。 90特定の更新の場所が見つからない場合は、最後の既知の場所を取得したいと考えています。

この問題を解決する方法を教えてください。

4

2 に答える 2

0
if (mNetworkEnabled) {
    mLocationMgr.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 0, 0,
            locationListenerNetwork);
} 

私のアプリケーションでは、このようなロケーションマネージャーを使用しています。ここで同じ問題を参照してください: Android:requestLocationUpdatesは最大45秒ごとに場所を更新します

于 2013-01-09T13:01:54.353 に答える
0
  1. MINIMUM_DISTANCE_CHANGE_FOR_UPDATES の値を 500 か何かに設定しますが、ゼロではありません。

  2. 最後の既知の場所が必要な場合は、使用します

Location loc = LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

于 2013-01-09T12:46:13.217 に答える