在 Android Wear OS 上使用 Google Fitness API 集成健身数据,可采用以下步骤:
implementation 'com.google.android.gms:play-services-fitness:20.0.0'
private static final int REQUEST_OAUTH_REQUEST_CODE = 0x1001;
public void checkAndRequestPermissions() {
GoogleApiAvailability gaa = GoogleApiAvailability.getInstance();
int resultCode = gaa.isGooglePlayServicesAvailable(this);
if (resultCode == ConnectionResult.SUCCESS) {
FitnessOptions fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_CALORIES_EXPENDED, FitnessOptions.ACCESS_READ)
.build();
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
GoogleSignIn.requestPermissions(
this, // your activity
REQUEST_OAUTH_REQUEST_CODE,
GoogleSignIn.getLastSignedInAccount(this),
fitnessOptions);
} else {
accessGoogleFit();
}
} else {
Dialog dialog = gaa.getErrorDialog(this, resultCode, 0);
dialog.show();
}
}
private void accessGoogleFit() {
DataReadRequest readRequest = new DataReadRequest.Builder()
.read(DataType.TYPE_STEP_COUNT_DELTA)
.setTimeRange(1, System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.build();
Task responseTask =
Fitness.getHistoryClient(this, GoogleSignIn.getLastSignedInAccount(this))
.readData(readRequest);
responseTask.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
List