Lectura de peso con Google Fit
Puedo conectarme a Google Fit y leer los datos de peso, pero no todos los datos que puedo ver en Google Fit Web. Creo que algo está mal con datasources pero no estoy seguro. El código de lectura es:
Instant endTime = Instant.now(); Instant startTime = DateTime.now().minusYears(10).toInstant(); DataReadRequest readRequest = new DataReadRequest.Builder () .setTimeRange (startTime.getMillis(), endTime.getMillis(), TimeUnit.MILLISECONDS) .read (DataType.TYPE_WEIGHT) .build (); DataReadResult dataReadResult = Fitness.HistoryApi.readData(MyApp.mClient, readRequest).await (1, TimeUnit.MINUTES);
- ¿Es posible detectar si la aplicación Google Fit está instalada y utilizada por el usuario?
- Android Wear y Google Fit: ¿Cómo forzar la actualización de datasets entre smartwatch y smartphone?
- Añadir / Leer peso y altura en GoogleFit? Androide
- ¿Cómo obtener la fuente de datos para el recuento de pasos con la API de Google Fit para Android?
- Obtenga la actividad actual de Google Fit API Android
- Administrar GoogleFit en segundo plano en la aplicación para Android
- La mejor manera de obtener la cuenta de pasos diarios del usuario para enviar al servidor en segundo plano
- ¿Hay alguna manera de obtener actualizaciones de fondo de la API de Google Fit?
- Cómo eliminar un permiso agregado debido a Google Fitness API 7.5.0
- Obtener cubos más pequeños de GoogleFit no funciona
- Crear tablas de donuts Similar a Google Fit
- Clase GoogleApiClient no encontrada
- ¿Por qué mi portátiles no aparece como DataSource en Google Fit API?
https://developers.google.com/fit/rest/v1/authorization#OAuth2Autorización
DataType.TYPE_WEIGHT debe ser autorizado por un Scopes.FITNESS_BODY_READ autenticado
mClient = new GoogleApiClient.Builder(this) .addApi(Fitness.HISTORY_API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addScope(new Scope(Scopes.FITNESS_BODY_READ)) .addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE)) .addConnectionCallbacks( new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { Log.i(TAG, "Connected!!!"); // Now you can make calls to the Fitness APIs. What to do? // Look at some data!! new InsertAndVerifyDataTask().execute(); } @Override public void onConnectionSuspended(int i) { // If your connection to the sensor gets lost at some point, // you'll be able to determine the reason and react to it here. if (i == ConnectionCallbacks.CAUSE_NETWORK_LOST) { Log.i(TAG, "Connection lost. Cause: Network Lost."); } else if (i == ConnectionCallbacks.CAUSE_SERVICE_DISCONNECTED) { Log.i(TAG, "Connection lost. Reason: Service Disconnected"); } } } ) .enableAutoManage(this, 0, new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(ConnectionResult result) { Log.i(TAG, "Google Play services connection failed. Cause: " + result.toString()); Snackbar.make( MainActivity.this.findViewById(R.id.main_activity_view), "Exception while connecting to Google Play services: " + result.getErrorMessage(), Snackbar.LENGTH_INDEFINITE).show(); } }) .build();
- Android: Restaurar la actividad activa mientras se reanuda la aplicación
- : ADVERTENCIA: android / base / files / IniFile.cpp: 158: No se pudo procesar el archivo .ini C: \ Users \ User_Name \ .android \ emu-update-last-check.ini para leer