0

我希望每10毫秒獲取一次位置,但我的位置會在約30秒或40秒內變化。我的錯在哪裏?有人幫我嗎?我正在使用這個代碼塊。我用它太多,但我得到一些問題http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/靈敏度Android位置傳感器

@Override 
protected void onStart() { 
    super.onStart(); 
    mGoogleApiClient.connect(); 
} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    mGoogleApiClient.disconnect(); 
} 

synchronized void buildGoogleApiClient() { 
    mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(LocationServices.API) 
      .build(); 


} 

@Override 
public void onConnected(Bundle bundle) { 
    mLocationRequest = LocationRequest.create(); 
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
    mLocationRequest.setInterval(1); // Update location every second 

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 

     return; 
    } 
    LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); 


    mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
      mGoogleApiClient); 
    if (mLastLocation != null) { 
     lat = String.valueOf(mLastLocation.getLatitude()); 
     lon = String.valueOf(mLastLocation.getLongitude()); 

    } 
} 

@Override 
public void onConnectionSuspended(int i) { 

} 

@Override 
public void onLocationChanged(Location location) { 
    mLastLocation = location; 
    Toast.makeText(MainActivity.this, location.getLatitude()+"+-+"+location.getLongitude(), Toast.LENGTH_SHORT).show(); 
    updateUI(); 
} 

@Override 
public void onConnectionFailed(ConnectionResult connectionResult) { 
    buildGoogleApiClient(); 
} 
void updateUI() { 
    Log.e("Updated",lat+"---"+lon); 
} 

的Android 6.0.1版

回答

1

你可以這樣做:

mLocationRequest.setInterval(3000); 
mLocationRequest.setFastestInterval(1000); // For 1 Second = 1000 millis 
+0

它不工作:/我再次得到每40-位置50秒 –