public final class HealthSubscription
- Object
- HealthSubscription
Methods
public String getId() | The identifier this subscription was registered under. |
public List<HealthDataType> getTypes() | The types being watched. |
public boolean isActive() | true until stop() is called. |
public boolean isPushDelivery() | Whether the operating system wakes the app when new data arrives. |
public HealthAnchor getAnchor() | The cursor reached by the most recent delivery, or null before the first one. |
public long getLastDeliveryMillis() | When the last batch was delivered, epoch millis, or 0 if never. |
public void stop() | Cancels the subscription and discards its persisted cursor. |
public String toString() | Returns a string representation of the object. |
Inherited methods
Method details
getId
public String getId()getTypes
public List<HealthDataType> getTypes()isActive
public boolean isActive()true until stop() is called.isPushDelivery
public boolean isPushDelivery()Whether the operating system wakes the app when new data arrives.
false on every platform in this release. Health Connect has
no push mechanism at all – Google’s own guidance is to poll – and
while HealthKit does offer HKObserverQuery, this release registers
none. Nothing here hooks the application lifecycle either, so
changes arrive exactly when you call HealthStore.drainChanges()
and at no other time: call it when you come to the foreground and
from your background-fetch handler.
This is exposed as a queryable fact rather than hidden, because an app that assumes push will silently miss data for days and its authors will never know why – no changes and no new data look identical from the outside.
getAnchor
public HealthAnchor getAnchor()getLastDeliveryMillis
public long getLastDeliveryMillis()stop
public void stop()Cancels the subscription and discards its persisted cursor. Idempotent.
Restarting later under the same id resynchronizes from scratch,
because the cursor is gone. To pause without losing your place,
simply stop calling HealthStore.drainChanges().
toString
public String toString()