答えて

0
を読みます

ソースコードはどこかで入手できますか?

残念ながら、Fused Location Provider APIはAndroidオープンソースプロジェクトの一部ではなく、独自のGoogleソフトウェアであり、ソースコードが公開されていないGoogle Playサービスの一部として実装されています。実際には、FusedLocationProviderApi.javaインタフェースの実装は、purposedly例えば、難読化されています

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; 
     } 
    } 
... 

は、彼らはどのように実装されましたか?

ソースは入手できないため、実装されている正確さだけを推測することがあります。

-2

あなたは、このような加速度計データにアクセスすることができ、その後センサーマネージャー

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

のインスタンスを取得する必要があります。

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]; 
} 

詳細についてはdeveloper.android Page

関連する問題