[英].NET MAUI Accessing Apple Healthkit
我想訪問 iOS Healthkit,最終也是 Android,但找不到成功的方法。 在網上我看到了指向https://learn.microsoft.com/en-us/xamarin/ios/platform/healthkit的建議,它適用於 xamarin 而不是 MAUI,但是找不到示例中的方法。 這是代碼:
private HKHealthStore healthKitStore = new HKHealthStore ();
public override void OnActivated (UIApplication application)
{
ValidateAuthorization ();
}
private void ValidateAuthorization ()
{
var heartRateId = HKQuantityTypeIdentifierKey.HeartRate;
var heartRateType = HKObjectType.GetQuantityType (heartRateId);
var typesToWrite = new NSSet (new [] { heartRateType });
var typesToRead = new NSSet ();
healthKitStore.RequestAuthorizationToShare (
typesToWrite,
typesToRead,
ReactToHealthCarePermissions);
}
void ReactToHealthCarePermissions (bool success, NSError error)
{
var access = healthKitStore.GetAuthorizationStatus (HKObjectType.GetQuantityType (HKQuantityTypeIdentifierKey.HeartRate));
if (access.HasFlag (HKAuthorizationStatus.SharingAuthorized)) {
HeartRateModel.Instance.Enabled = true;
} else {
HeartRateModel.Instance.Enabled = false;
}
}
很遺憾,
HKQuantityTypeIdentifierKey.HeartRate;
HKObjectType.GetQuantityType (heartRateId);
好像不見了。 有沒有人有 MAUI 的工作示例?
您參考的文檔中的這兩種方法已過時,您可以按如下方式修改您的方法:
HKQuantityTypeIdentifierKey.HeartRate; ---> HKQuantityTypeIdentifier.HeartRate;
HKObjectType.GetQuantityType (heartRateId); ---> HKQuantityType.Create(heartRateId);
更多詳情,您可以參考:
我在 my.Net Maui 應用程序中使用了這段代碼,因為你同時要求 iOS 和 Android。 您可以看到針對心率的授權請求,但代碼實際上並未查詢或觀察心臟數據。 無論如何,這段代碼是一個很好的入門指南。 該代碼還實現了跨 iOS 和 Android 的完成處理程序。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.