This interface is deprecated.
Use RecordingClient
.
API 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
API
.
Unlike the Sensors API
,
the Recording API 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
API. 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 API should be accessed from the Fitness
entry
point. Example:
GoogleApiClient client = new GoogleApiClient.Builder(context) .addApi(Fitness.RECORDING_API) ... .build(); client.connect(); // Samples the user's activity once per minute. PendingResult<Status> pendingResult = Fitness.RecordingApi.subscribe( client, DataType.TYPE_ACTIVITY_SAMPLES);
Public Method Summary
abstract PendingResult<ListSubscriptionsResult> |
listSubscriptions(GoogleApiClient
client)
Reads all existing subscriptions for the current application.
|
abstract PendingResult<ListSubscriptionsResult> |
listSubscriptions(GoogleApiClient
client, DataType
dataType)
Reads all existing subscriptions for the current application to a particular
data type.
|
abstract PendingResult<Status> |
subscribe(GoogleApiClient
client, DataType
dataType)
Subscribe to background collection of data of a specific type on behalf of the
current application.
|
abstract PendingResult<Status> |
subscribe(GoogleApiClient
client, DataSource
dataSource)
Subscribe to background collection of data from a specific source on behalf of
the current application.
|
abstract PendingResult<Status> |
unsubscribe(GoogleApiClient
client, DataSource
dataSource)
Unsubscribes from background data collection for the current application for a
particular data source.
|
abstract PendingResult<Status> |
unsubscribe(GoogleApiClient
client, DataType
dataType)
Unsubscribes from background data collection for the current application for a
particular data type.
|
abstract PendingResult<Status> |
unsubscribe(GoogleApiClient
client, Subscription
subscription)
Unsubscribes from background data collection for the current application.
|
Public Methods
public abstract PendingResult<ListSubscriptionsResult> listSubscriptions (GoogleApiClient client)
Reads all existing subscriptions for the current application.
Parameters
client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the list operation will be delayed until the connection is complete. |
---|
Returns
- A pending result containing the found subscriptions.
public abstract PendingResult<ListSubscriptionsResult> listSubscriptions (GoogleApiClient client, DataType dataType)
Reads all existing subscriptions for the current application to a particular data type.
Parameters
client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the list operation will be delayed until the connection is complete. |
---|---|
dataType | List only subscriptions to this data
type . |
Returns
- A pending result containing the found subscriptions.
public abstract PendingResult<Status> subscribe (GoogleApiClient client, DataType dataType)
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
Api
.
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 and
FitnessStatusCodes.SUCCESS_NO_DATA_SOURCES
will be returned. Once data
sources become available, recording of data will start.
If after the subscription is added the data source becomes unavailable, 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.
If the requested subscription already exists, the request will be a no-op and
FitnessStatusCodes.SUCCESS_ALREADY_SUBSCRIBED
will be returned.
Subscribing to a DataType
which derives from data collected using activity recognition will require the ACTIVITY_RECOGNITION runtime
permission if your app is targeting API level 29. If the permission is lost during
recording, the registration will be removed.
Data types which will trigger activity collection include:
Parameters
client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the subscribe operation will be delayed until the connection is complete. |
---|---|
dataType | The data
type to subscribe to. |
Throws
SecurityException | If a required permission is missing for the requested DataType . |
---|
public abstract PendingResult<Status> subscribe (GoogleApiClient client, DataSource dataSource)
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
Api
.
If after the subscription is added the data source becomes unavailable (it may be disconnected or disabled, for instance), the subscription remains active. Once the data source becomes available again, new data points (and any data points that were batched while disconnected) are inserted.
Subscribing to a DataSource
which derives from data collected using activity recognition will require the ACTIVITY_RECOGNITION runtime
permission if your app is targeting API level 29. If the permission is lost during
recording, the registration will be removed.
Data types which will trigger activity collection include:
Parameters
client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the subscribe operation will be delayed until the connection is complete. |
---|---|
dataSource | The data
source to subscribe to. |
Throws
SecurityException | If a required permission is missing for the requested DataSource . |
---|
public abstract PendingResult<Status> unsubscribe (GoogleApiClient client, DataSource dataSource)
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
client | An existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
dataSource | The data
source to unsubscribe from. |
Throws
IllegalStateException | If client is not connected. |
---|
public abstract PendingResult<Status> unsubscribe (GoogleApiClient client, DataType dataType)
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
client | An existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
dataType | The data
type to remove. All subscriptions to the particular data type will be
removed |
Throws
IllegalStateException | If client is not connected. |
---|
public abstract PendingResult<Status> unsubscribe (GoogleApiClient client, Subscription subscription)
Unsubscribes from background data collection for the current application. Should be called when the application no longer wishes to record data.
Parameters
client | An existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
subscription | The subscription
to remove. |
Throws
IllegalStateException | If client is not connected. |
---|