0
glocManager  = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        glocListener = new MyLocationListenerGPS();
        glocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                1000 * 1,  // 1 Sec        
                1,         // 1 meter           
                glocListener);

このコードは、GPS を使用して位置を取得するためのものですが、両方の条件が満たされた場合 (1 秒と 1 メートル)、または 1 つだけの場合に位置を更新します。

4

2 に答える 2

1

それが言うjavadocを読む:

The minDistance parameter can also be used to control the frequency of location updates. 
If it is greater than 0 then the location provider will only send your application an update when the location has changed by at least minDistance meters, 
AND at least minTime milliseconds have passed

リンク

于 2013-07-12T10:09:28.583 に答える
1

Tooltip/Javadoc が言うように:

 Parameters
       provider  the name of the provider with which to register 
       minTime  minimum time interval between location updates, in milliseconds 
       minDistance  minimum distance between location updates, in meters 

値を考えてみましょう: 1 秒、
1 メートル: 最後の秒と現在の距離が 1 メートルより大きい場合、場所は毎秒更新されます。
最後の更新が 1 秒以上前の場合、場所は 1 メートルごとに更新されます。

TL;DR: AND です。どちらも true の場合にのみ、Location が更新されます。

于 2013-07-12T10:13:17.720 に答える