Répondre

0

Le code source est-il disponible quelque part?

Malheureusement, l'emplacement Fused API du fournisseur ne fait pas partie de l'Android Open Source Project mais il est mis en œuvre dans le cadre de services Google Play qui est un logiciel Google propriétaire et son code source ne sont pas accessibles au public. En fait, les implémentations d'interface FusedLocationProviderApi.java sont purposedly brouillées, par exemple:

public class zzd implements FusedLocationProviderApi { 
    public zzd() { 
    } 

    public Location getLastLocation(GoogleApiClient var1) { 
     zzl var2 = LocationServices.zzj(var1); 

     try { 
      return var2.getLastLocation(); 
     } catch (Exception var4) { 
      return null; 
     } 
    } 
... 

Comment ont-ils été mis en œuvre?

Étant donné que la source n'est pas disponible, nous pouvons seulement spéculer sur la façon dont elle est implémentée.

-2

Vous devez obtenir une instance du gestionnaire de capteur

private SensorManager mSensorManager; 
private Sensor mSensor; 
    ... 
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 

Après cela, vous pouvez accéder aux données de l'accéléromètre comme ceci:

public void onSensorChanged(SensorEvent event){ 
    // In this example, alpha is calculated as t/(t + dT), 
    // where t is the low-pass filter's time-constant and 
    // dT is the event delivery rate. 

    final float alpha = 0.8; 

    // Isolate the force of gravity with the low-pass filter. 
    gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0]; 
    gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1]; 
    gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2]; 

    // Remove the gravity contribution with the high-pass filter. 
    linear_acceleration[0] = event.values[0] - gravity[0]; 
    linear_acceleration[1] = event.values[1] - gravity[1]; 
    linear_acceleration[2] = event.values[2] - gravity[2]; 
} 

Pour plus d'informations, consultez la developer.android Page