com.google.android.gms.fitness.SessionsApi |
API for creating and managing sessions
of user activity in Google Fit.
Sessions are a way of storing user-visible groups of related stream data in a useful and
shareable manner, and allow for easy querying of the data in a detailed or aggregated fashion.
The startSession(GoogleApiClient, Session)
and
stopSession(GoogleApiClient, String)
methods mark the time range of the session.
Data inserted using the HistoryApi
during the period where the session is in progress
will be associated with that Session once it is stopped.
Another way of adding sessions is with
insertSession(GoogleApiClient, SessionInsertRequest)
. This is designed for bulk
insertion when importing a user's historic data into Google Fit; for live sessions use the
previous API. All data in Google Fit that falls within the time range of an inserted session
will be implicitly associated with that session.
Once a session has been saved, it can be retrieved using
readSession(GoogleApiClient, SessionReadRequest)
.
Clients can register to be notified of sessions, and remove existing registrations, using
registerForSessions(GoogleApiClient, PendingIntent)
and
unregisterForSessions(GoogleApiClient, PendingIntent)
. Notifications will be sent for
sessions when they are started and stopped.
Deleting sessions is handled like any other data deletion, via
deleteData(GoogleApiClient, DataDeleteRequest)
.
The Sessions API should be accessed via the Fitness
entry point. Example:
GoogleApiClient client = new GoogleApiClient.Builder(context) .addApi(Fitness.API) ... .build(); client.connect(); Session session = new Session.Builder() .setName(sessionName) .setIdentifier(identifier) .setDescription(description) .setStartTimeMillis(startTime.getMillis(), TimeUnit.MILLISECONDS) .build(); PendingResult<Status> pendingResult = Fitness.SessionsApi.startSession(client, session);
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SessionsApi.ViewIntentBuilder |
Builder of intents to view sessions stored in Google Fit.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Inserts specified
Session and corresponding data into the user's Google Fit store
on behalf of the current application.
| |||||||||||
Reads data from the user's Google Fit store of the specific type(s) and for the specific
session(s) selected from the request parameters.
| |||||||||||
Registers for notifications of session start and end events using a PendingIntent.
| |||||||||||
Starts a new active session for the current application.
| |||||||||||
Stops active sessions for the current application.
| |||||||||||
Unregisters from session start and end notifications using a
PendingIntent .
|
Inserts specified Session
and corresponding data into the user's Google Fit store
on behalf of the current application. Useful for bulk upload of a previously recorded
session.
client | an existing GoogleApiClient. It does not need to be connected at the time of this call, but the insertion will be delayed until the connection is complete. |
---|---|
request | the Session and its associated data, which includes
details of the session and data set for data source(s).
|
Reads data from the user's Google Fit store of the specific type(s) and for the specific session(s) selected from the request parameters.
client | an existing GoogleApiClient. It does not need to be connected at the time of this call, but the insertion will be delayed until the connection is complete. |
---|---|
request | a built request specifying the specific session, time interval and/or data type for the query |
Registers for notifications of session start and end events using a PendingIntent.
The application specifies a PendingIntent callback (typically an IntentService) which will be
called when sessions are started or stopped. When the PendingIntent is called, the
application can use extract(android.content.Intent)
to extract the Session
from the intent. In addition, the following Intent extras can be used:
EXTRA_START_TIME
set to the Session's start time.
EXTRA_END_TIME
optionally set to the Session's end time if
the session has ended.
Finally, the Intent's type will be set to
MIME_TYPE_PREFIX
followed by the name of the activity
associated with this session, and can be computed by
getMimeType(String)
.
client | an existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
intent | a callback intent to be sent every time a session is started or stopped. |
Starts a new active session for the current application.
client | an existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
session | the session to be started |
IllegalStateException | if client is not connected |
---|
Stops active sessions for the current application. The active sessions to be stopped are chosen as per the specifications in the input request.
client | an existing GoogleApiClient. Must be connected at the time of this call. |
---|---|
identifier | the identifier of the session to stop. If null is passed all
active sessions will be stopped. |
IllegalStateException | if client is not connected |
---|
Unregisters from session start and end notifications using a PendingIntent
.
client | an existing GoogleApiClient. Must be connected at the time of this call. |
---|
IllegalStateException | if client is not connected |
---|