為確保使用者瞭解應用程式會正確讀取資料,請清楚說明應用程式如何取得資料,也就是來自 DataOrigin
類別的 屬性。packageName
您可以採用以下兩種方法:
基本歸因
使用者介面 (UI) 至少應顯示應用程式來源圖示和名稱 (如果無法顯示圖示,則只顯示應用程式名稱)。基本歸因適用於下列畫面:「首頁」、「活動記錄」和「活動詳細資料」。
為確保正確歸因,應用程式可以顯示原始記錄資料的應用程式名稱和圖示。這有助於提升使用者信任度,並清楚說明健康資訊的來源。
您無須要求任何機密權限 (例如 QUERY_ALL_PACKAGES
),即可擷取這項資訊。以下範例說明如何從 PackageManager
擷取特定套件的應用程式標籤和圖示:
fun getAppLabelAndIcon(context: Context, packageName: String): Pair<CharSequence?, Drawable?>{
return try {
val pm = context.packageManager
val appInfo = pm.getApplicationInfo(packageName, 0)
val label = pm.getApplicationLabel(appInfo)
val icon = pm.getApplicationIcon(appInfo)
label to icon
} catch (e: PackageManager.NameNotFoundException){
null to null
}
}
這項公用程式會顯示應用程式名稱和圖示,以及資料,有助於驗證是否已正確歸因。請參閱 HealthConnectManager.kt 範例中的實作方式。

教育歸因
應用程式應提供直接連結導向 Health Connect 中的「應用程式權限」畫面,協助使用者獲取有關資料來源的資訊。這種歸因類型適用於下列畫面: 活動詳細資料、報表和洞察資料。


資料同步
如果應用程式與「健康資料同步」同步時延遲時間夠長,請在同步期間於應用程式中顯示這則通知。這項訊息會告知使用者程序可能需要一段時間才能完成。如果您使用通知進行同步,系統預設會將通知設為低優先順序。
