static NSSet HealthTypesToRead() { var quantityTypesToRead = QuantityTypesToRead.Select(q => HKObjectType.GetQuantityType(q)); var characteristicTypesToRead = CharacteristicTypesToRead.Select(c => HKObjectType.GetCharacteristicType(c)); var allHealthTypesToRead = new List <object>(); allHealthTypesToRead.AddRange(quantityTypesToRead); allHealthTypesToRead.AddRange(characteristicTypesToRead); return(new NSSet(allHealthTypesToRead.ToArray())); }
public void SetUpPermissions() { var distanceQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.DistanceWalkingRunning); var stepsQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.StepCount); var flightsQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.FlightsClimbed); var heightQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.Height); var heartRateQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.HeartRate); var nikeFuelQuantityType = HKObjectType.GetQuantityType(HKQuantityTypeIdentifierKey.NikeFuel); var dateOfBirthCharacteristicType = HKObjectType.GetCharacteristicType(HKCharacteristicTypeIdentifierKey.DateOfBirth); var sexCharacteristicType = HKObjectType.GetCharacteristicType(HKCharacteristicTypeIdentifierKey.BiologicalSex); var bloodTypeCharacteristicType = HKObjectType.GetCharacteristicType(HKCharacteristicTypeIdentifierKey.BloodType); if (m_healthKitStore == null) { HealthKitStore = new HKHealthStore(); m_healthKitStore.RequestAuthorizationToShare(new NSSet(new [] { distanceQuantityType, stepsQuantityType, flightsQuantityType, heartRateQuantityType }), new NSSet(new [] { (NSObject)distanceQuantityType, (NSObject)stepsQuantityType, (NSObject)flightsQuantityType, (NSObject)heightQuantityType, (NSObject)dateOfBirthCharacteristicType, (NSObject)sexCharacteristicType, (NSObject)bloodTypeCharacteristicType, (NSObject)nikeFuelQuantityType, (NSObject)bloodTypeCharacteristicType, (NSObject)heartRateQuantityType }), (success, error) => { Console.WriteLine("Authorized:" + success); if (error != null) { Console.WriteLine("Authorization error: " + error); } }); } }
public void Refresh() { var quantityTypesToRead = QuantityTypesToRead.Select(q => new { Key = q, QuantityType = HKObjectType.GetQuantityType(q) }); foreach (var quantityTypeToRead in quantityTypesToRead) { RefreshQuantityValue(quantityTypeToRead.Key, quantityTypeToRead.QuantityType); } var characteristicTypesToRead = CharacteristicTypesToRead.Select(c => new { Key = c, CharacteristicType = HKObjectType.GetCharacteristicType(c) }); foreach (var characteristicTypeToRead in characteristicTypesToRead) { RefreshCharacteristicValue(characteristicTypeToRead.Key, characteristicTypeToRead.CharacteristicType); } }