Class HKHealthStore

  • All Implemented Interfaces:
    NSObject

    public class HKHealthStore
    extends NSObject
    HKHealthStore The HKHealthStore class provides an interface for accessing and storing the user's health data.
    • Constructor Detail

      • HKHealthStore

        protected HKHealthStore​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isHealthDataAvailable

        public static boolean isHealthDataAvailable()
        isHealthDataAvailable Returns YES if HealthKit is supported on the device. HealthKit is not supported on all iOS devices. Using HKHealthStore APIs on devices which are not supported will result in errors with the HKErrorHealthDataUnavailable code. Call isHealthDataAvailable before attempting to use other parts of the framework.
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • addSamplesToWorkoutCompletion

        public void addSamplesToWorkoutCompletion​(NSArray<? extends HKSample> samples,
                                                  HKWorkout workout,
                                                  HKHealthStore.Block_addSamplesToWorkoutCompletion completion)
        addSamples:toWorkout:completion: Associates samples with a given workout. This will associate the given samples with the given workout. These samples will then be returned by a query that contains this workout as a predicate. If a sample is added that is not saved yet, then it will be saved for you. Note that the sample will be saved without an HKDevice. The workout provided must be one that has already been saved to HealthKit.
      • authorizationStatusForType

        public long authorizationStatusForType​(HKObjectType type)
        authorizationStatusForType: Returns the application's authorization status for the given object type.
      • biologicalSexWithError

        public HKBiologicalSexObject biologicalSexWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        biologicalSexWithError: Returns an object encapsulating the user's biological sex. Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierBiologicalSex.
      • bloodTypeWithError

        public HKBloodTypeObject bloodTypeWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        bloodTypeWithError: Returns an object encapsulating the user's blood type. Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierBloodType.
      • dateOfBirthComponentsWithError

        public NSDateComponents dateOfBirthComponentsWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        dateOfBirthComponentsWithError: Returns the user's date of birth in the Gregorian calendar. Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierDateOfBirth.
      • dateOfBirthWithError

        public NSDate dateOfBirthWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
      • deleteObjectsWithCompletion

        public void deleteObjectsWithCompletion​(NSArray<? extends HKObject> objects,
                                                HKHealthStore.Block_deleteObjectsWithCompletion completion)
        deleteObjects:withCompletion: Deletes multiple HKObjects from the HealthKit database. An application may only delete objects that it previously saved. This operation is performed asynchronously and the completion will be executed on an arbitrary background queue.
      • deleteObjectsOfTypePredicateWithCompletion

        public void deleteObjectsOfTypePredicateWithCompletion​(HKObjectType objectType,
                                                               NSPredicate predicate,
                                                               HKHealthStore.Block_deleteObjectsOfTypePredicateWithCompletion completion)
        deleteObjectsOfType:predicate:withCompletion: Deletes all objects matching the given predicate from the HealthKit database. An application may only delete objects that it previously saved. This operation is performed asynchronously and the completion will be executed on an arbitrary background queue.
      • earliestPermittedSampleDate

        public NSDate earliestPermittedSampleDate()
        earliestPermittedSampleDate Samples prior to the earliestPermittedSampleDate cannot be saved or queried. On some platforms, only samples with end dates newer than the value returned by earliestPermittedSampleDate may be saved or retrieved.
      • enableBackgroundDeliveryForTypeFrequencyWithCompletion

        public void enableBackgroundDeliveryForTypeFrequencyWithCompletion​(HKObjectType type,
                                                                           long frequency,
                                                                           HKHealthStore.Block_enableBackgroundDeliveryForTypeFrequencyWithCompletion completion)
        enableBackgroundDeliveryForType:frequency:withCompletion: This method enables activation of your app when data of the type is recorded at the cadence specified. When an app has subscribed to a certain data type it will get activated at the cadence that is specified with the frequency parameter. The app is still responsible for creating an HKObserverQuery to know which data types have been updated and the corresponding fetch queries. Note that certain data types (such as HKQuantityTypeIdentifierStepCount) have a minimum frequency of HKUpdateFrequencyHourly. This is enforced transparently to the caller.
      • executeQuery

        public void executeQuery​(HKQuery query)
        executeQuery: Begins executing the given query. After executing a query, the completion, update, and/or results handlers of that query will be invoked asynchronously on an arbitrary background queue as results become available. Errors that prevent a query from executing will be delivered to one of the query's handlers. Which handler the error will be delivered to is defined by the HKQuery subclass. Each HKQuery instance may only be executed once and calling this method with a currently executing query or one that was previously executed will result in an exception. If a query would retrieve objects with an HKObjectType property, then the application must request authorization to access objects of that type before executing the query.
      • fitzpatrickSkinTypeWithError

        public HKFitzpatrickSkinTypeObject fitzpatrickSkinTypeWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        fitzpatrickSkinTypeWithError: Returns an object encapsulating the user's Fitzpatrick skin type. Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierFitzpatrickSkinType.
      • handleAuthorizationForExtensionWithCompletion

        public void handleAuthorizationForExtensionWithCompletion​(HKHealthStore.Block_handleAuthorizationForExtensionWithCompletion completion)
        handleAuthorizationForExtensionWithCompletion: Prompts the user to authorize the application for reading and saving objects. When an app extension calls requestAuthorizationToShareTypes:readTypes:completion:, the parent application is responsible for calling this method to prompt the user to authorize the app and its extensions for the types that the extension requested access to. The request is performed asynchronously and its completion will be executed on an arbitrary background queue after the user has responded. The success parameter of the completion indicates whether prompting the user, if necessary, completed successfully and was not cancelled by the user. It does NOT indicate whether the application was granted authorization.
      • preferredUnitsForQuantityTypesCompletion

        public void preferredUnitsForQuantityTypesCompletion​(NSSet<? extends HKQuantityType> quantityTypes,
                                                             HKHealthStore.Block_preferredUnitsForQuantityTypesCompletion completion)
        preferredUnitsForQuantityTypes:completion: Calls the completion with the preferred HKUnits for a given set of HKQuantityTypes. A preferred unit is either the unit that the user has chosen in Health for displaying samples of the given quantity type or the default unit for that type in the current locale of the device. To access the user's preferences it is necessary to request read or share authorization for the set of HKQuantityTypes provided. If neither read nor share authorization has been granted to the app, then the default unit for the locale is provided. An error will be returned when preferred units are inaccessible because protected health data is unavailable or authorization status is not determined for one or more of the provided types. The returned dictionary will map HKQuantityType to HKUnit.
      • requestAuthorizationToShareTypesReadTypesCompletion

        public void requestAuthorizationToShareTypesReadTypesCompletion​(NSSet<? extends HKSampleType> typesToShare,
                                                                        NSSet<? extends HKObjectType> typesToRead,
                                                                        HKHealthStore.Block_requestAuthorizationToShareTypesReadTypesCompletion completion)
        requestAuthorizationToShareTypes:readTypes:completion: Prompts the user to authorize the application for reading and saving objects of the given types. Before attempting to execute queries or save objects, the application should first request authorization from the user to read and share every type of object for which the application may require access. The request is performed asynchronously and its completion will be executed on an arbitrary background queue after the user has responded. If the user has already chosen whether to grant the application access to all of the types provided, then the completion will be called without prompting the user. The success parameter of the completion indicates whether prompting the user, if necessary, completed successfully and was not cancelled by the user. It does NOT indicate whether the application was granted authorization. To customize the messages displayed on the authorization sheet, set the following keys in your app's Info.plist file. Set the NSHealthShareUsageDescription key to customize the message for reading data. Set the NSHealthUpdateUsageDescription key to customize the message for writing data.
      • saveObjectWithCompletion

        public void saveObjectWithCompletion​(HKObject object,
                                             HKHealthStore.Block_saveObjectWithCompletion completion)
        saveObject:withCompletion: Saves an HKObject. After an object is saved, on subsequent retrievals the sourceRevision property of the object will be set to the HKSourceRevision representing the version of the application that saved it. If the object has an HKObjectType property, then in order to save an object successfully the application must first request authorization to share objects with that type. Saving an object with the same unique identifier as another object that has already been saved will fail. When the application attempts to save multiple objects, if any single object cannot be saved then none of the objects will be saved. The operation will fail if the objects array contains samples with endDates that are older than the date returned by earliestPermittedSampleDate. This operation is performed asynchronously and the completion will be executed on an arbitrary background queue.
      • splitTotalEnergyStartDateEndDateResultsHandler

        public void splitTotalEnergyStartDateEndDateResultsHandler​(HKQuantity totalEnergy,
                                                                   NSDate startDate,
                                                                   NSDate endDate,
                                                                   HKHealthStore.Block_splitTotalEnergyStartDateEndDateResultsHandler resultsHandler)
        splitTotalEnergy:startDate:endDate:resultsHandler: For the time period specified, this method calculates the resting and active energy parts of the total energy provided. This method uses the user's metrics like age, biological sex, body mass and height to determine their basal metabolic rate. If the application does not have authorization to access these characteristics or if the user has not entered their data then this method uses builtin default values.
      • startWatchAppWithWorkoutConfigurationCompletion

        public void startWatchAppWithWorkoutConfigurationCompletion​(HKWorkoutConfiguration workoutConfiguration,
                                                                    HKHealthStore.Block_startWatchAppWithWorkoutConfigurationCompletion completion)
        startWatchAppWithWorkoutConfiguration:completion: Launches or wakes up the WatchKit app on the watch This method will launch the WatchKit app corresponding to the calling iOS application on the currently active Apple Watch. After launching, the handleWorkoutConfiguration: method on the WKExtensionDelegate protocol will be called with the HKWorkoutConfiguration as a parameter. The receiving Watch app can use this configuration object to create an HKWorkoutSession and start it with -startWorkoutSession:.
      • stopQuery

        public void stopQuery​(HKQuery query)
        stopQuery: Stops a query that is executing from continuing to run. Calling this method will prevent the handlers of the query from being invoked in the future. If the query is already stopped, this method does nothing.
      • wheelchairUseWithError

        public HKWheelchairUseObject wheelchairUseWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        wheelchairUseWithError: Returns an object encapsulating the user's wheelchair use. Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierWheelchairUse.
      • getRequestStatusForAuthorizationToShareTypesReadTypesCompletion

        public void getRequestStatusForAuthorizationToShareTypesReadTypesCompletion​(NSSet<? extends HKSampleType> typesToShare,
                                                                                    NSSet<? extends HKObjectType> typesToRead,
                                                                                    HKHealthStore.Block_getRequestStatusForAuthorizationToShareTypesReadTypesCompletion completion)
        getRequestStatusForAuthorizationToShareTypes:readTypes:completion: Determines whether requesting authorization for the given types is necessary. Applications may call this method to determine whether the user would be prompted for authorization if the same collections of types are passed to requestAuthorizationToShareTypes:readTypes:completion:. This determination is performed asynchronously and its completion will be executed on an arbitrary background queue.
      • supportsHealthRecords

        public boolean supportsHealthRecords()
        supportsHealthRecords Returns YES if the Health Records feature is available. The Health Records feature is not available in all regions but may be present in unsupported regions if accounts have already been configured. This can change as accounts are modified during device restore or synchronization. Call supportsHealthRecords before attempting to request authorization for any clinical types.
      • activityMoveModeWithError

        public HKActivityMoveModeObject activityMoveModeWithError​(org.moe.natj.general.ptr.Ptr<NSError> error)
        activityMoveModeWithError: Returns an object encapsulating the user's activity move mode Before calling this method, the application should request authorization to access objects with the HKCharacteristicType identified by HKCharacteristicTypeIdentifierActivityMoveMode.