java.lang.Object | ||
↳ | com.google.android.gms.common.api.GoogleApi<com.google.android.gms.fitness.FitnessOptions> | |
↳ | com.google.android.gms.fitness.RecordingClient |
Client which enables low-power, always-on background collection of sensor data into the Google
Fit store. Sensor subscriptions
are active when the requesting app is not
running, and persisted through system restarts. Collected data can be queried using the History Client
.
Unlike the Sensors Client
, the Recording Client does not support
delivery of live sensor events. When live data is needed (such as when the app is open in the
foreground), a listener should be added with the Sensors Client. An app can have both an active
subscription and an active listener at the same time. Unlike listeners, subscriptions don't need
to be removed and re-added periodically.
The Recording Client should be accessed from the Fitness
entry point. Example:
GoogleSignInOptionsExtension extension = FitnessOptions.builder() .addDataType(DataTypes.TYPE_ACTIVITY_SAMPLE, FitnessOptions.READ) .build() GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .addExtension(extension) .build(); Task<GoogleSignInAccount> task = GoogleSignIn.getClient(this, signInOptions) .silentSignIn(); GoogleSignInAccount googleSigninAccount = Tasks.await(task); // Samples the user's activity once per minute. Task<Void> response = Fitness.getRecordingClient(this, googleSigninAccount) .subscribe(DataType.TYPE_ACTIVITY_SAMPLE);Creating a subscription for a particular data type requires user permission for access to data of that type, and permissions can be revoked by the user through Google Play Services settings.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Reads all existing subscriptions for the current application.
| |||||||||||
Reads all existing subscriptions for the current application to a particular data type.
| |||||||||||
Subscribe to background collection of data from a specific source on behalf of the current
application.
| |||||||||||
Subscribe to background collection of data of a specific type on behalf of the current
application.
| |||||||||||
Unsubscribes from background data collection for the current application.
| |||||||||||
Unsubscribes from background data collection for the current application for a particular data
type.
| |||||||||||
Unsubscribes from background data collection for the current application for a particular data
source.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Reads all existing subscriptions for the current application.
Returns | |
---|---|
Task<List<Subscription>> |
a task containing the found subscriptions.
|
Reads all existing subscriptions for the current application to a particular data type.
Parameters | |
---|---|
dataType |
DataType : list only subscriptions to this data type |
Returns | |
---|---|
Task<List<Subscription>> |
a task containing the found subscriptions.
|
Subscribe to background collection of data from a specific source on behalf of the current application.
After the subscription is successfully added, new data points in the requested data stream
are persisted to the Google Fit store, and can be queried via the History
Client
.
If after the subscription is added the data source becomes unavailable (it may be disconnected or disabled, for instance), the subscription remains active, and recording resumes once the data source becomes available again. Data points from the time interval when the data source was unavailable may or may not be recorded, depending on whether batching is supported.
Note that not all data sources are available at all times (external devices may go offline, for instance). If no data sources matching the subscription are currently available, the request will succeed silently. Once data sources become available, recording of data will start.
If the requested subscription already exists, the request will be a no-op.
Parameters | |
---|---|
dataSource |
DataSource : the data source to subscribe to. |
Returns | |
---|---|
Task<Void> |
Throws | |
---|---|
SecurityException |
if a required permission is missing for the requested DataSource .
|
Subscribe to background collection of data of a specific type on behalf of the current application.
Specifying a data type
instead of a data source
means
that the default data source will be used to serve this request. The default is based on the
data type and the available data sources. The default data source could be a combined data
source, and its data might be averaged or filtered. As new data sources for the data type
become available, the default data source might change.
After the subscription is successfully added, new data points in the requested data stream
are persisted to the Google Fit store, and can be queried via the History
Client
.
If after the subscription is added the data source becomes unavailable (it may be disconnected or disabled, for instance), the subscription remains active, and recording resumes once the data source becomes available again. Data points from the time interval when the data source was unavailable may or may not be recorded, depending on whether batching is supported.
Note that not all data sources are available at all times (external devices may go offline, for instance). If no data sources matching the subscription are currently available, the request will succeed silently. Once data sources become available, recording of data will start.
If the requested subscription already exists, the request will be a no-op.
Parameters | |
---|---|
dataType |
DataType : the data type to subscribe to. |
Returns | |
---|---|
Task<Void> |
Throws | |
---|---|
SecurityException |
if a required permission is missing for the requested DataType .
|
Unsubscribes from background data collection for the current application. Should be called when the application no longer wishes to record data.
Parameters | |
---|---|
subscription |
Subscription : the subscription to remove |
Returns | |
---|---|
Task<Void> |
Throws | |
---|---|
IllegalStateException |
if client is not connected |
Unsubscribes from background data collection for the current application for a particular data type. Should be called when the application no longer wishes to record data.
Parameters | |
---|---|
dataType |
DataType : the data type to remove. All subscriptions to the particular
data type will be removed |
Returns | |
---|---|
Task<Void> |
Throws | |
---|---|
IllegalStateException |
if client is not connected |
Unsubscribes from background data collection for the current application for a particular data source. Should be called when the application no longer wishes to record data.
Parameters | |
---|---|
dataSource |
DataSource : the data source to unsubscribe from |
Returns | |
---|---|
Task<Void> |
Throws | |
---|---|
IllegalStateException |
if client is not connected |