این راهنما با Health Connect نسخه 1.1.0-alpha11 سازگار است.
Health Connect یک نوع داده ذهن آگاهی را برای اندازه گیری جنبه های مختلف سلامت روان، مانند استرس و اضطراب ارائه می دهد. ذهن آگاهی یک نوع داده است که بخشی از سلامت کلی در Health Connect است.
مجوزهای مورد نیاز
مانند هر نوع داده ای در Health Connect، دسترسی به جلسه تمرکز حواس با یک جفت مجوز محافظت می شود: READ_MINDFULNESS_SESSION
و WRITE_MINDFULNESS_SESSION
.
درخواست مجوز از کاربر
پس از ایجاد یک نمونه مشتری، برنامه شما باید از کاربر مجوز درخواست کند. کاربران باید در هر زمانی اجازه دهند یا رد کنند.
برای انجام این کار، مجموعه ای از مجوزها را برای انواع داده های مورد نیاز ایجاد کنید. مطمئن شوید که ابتدا مجوزهای مجموعه در مانیفست اندروید شما اعلام شده است.
// Create a set of permissions for required data types
val PERMISSIONS =
setOf(
HealthPermission.getReadPermission(MindfulnessSessionRecord::class),
HealthPermission.getWritePermission(MindfulnessSessionRecord::class)
)
از getGrantedPermissions
استفاده کنید تا ببینید آیا برنامه شما قبلاً مجوزهای لازم را دارد یا خیر. اگر نه، از createRequestPermissionResultContract
برای درخواست آن مجوزها استفاده کنید. این صفحه مجوزهای Health Connect را نشان می دهد.
// Create the permissions launcher
val requestPermissionActivityContract = PermissionController.createRequestPermissionResultContract()
val requestPermissions = registerForActivityResult(requestPermissionActivityContract) { granted ->
if (granted.containsAll(PERMISSIONS)) {
// Permissions successfully granted
} else {
// Lack of required permissions
}
}
suspend fun checkPermissionsAndRun(healthConnectClient: HealthConnectClient) {
val granted = healthConnectClient.permissionController.getGrantedPermissions()
if (granted.containsAll(PERMISSIONS)) {
// Permissions already granted; proceed with inserting or reading data
} else {
requestPermissions.launch(PERMISSIONS)
}
}
از آنجایی که کاربران میتوانند در هر زمانی مجوزها را اعطا یا لغو کنند، برنامه شما باید بهطور دورهای مجوزهای اعطا شده را بررسی کند و سناریوهایی را که در آن مجوز از دست میرود رسیدگی کند.
اطلاعاتی که در سابقه جلسه ذهن آگاهی گنجانده شده است
رکورد هر جلسه ذهن آگاهی، هر نوع جلسه ذهن آگاهی را که کاربر انجام می دهد، ثبت می کند، به عنوان مثال مراقبه، تنفس و حرکت. رکورد همچنین می تواند شامل یادداشت های اضافی در مورد جلسه باشد.
تجمعات پشتیبانی شده
Health Connect به شما امکان می دهد مقادیر کلی زیر را برای یک لیست مشخص از دلتاها دریافت کنید:
مثال استفاده
قطعه کد زیر نحوه نوشتن یک جلسه ذهن آگاهی مراقبه را با استفاده از کتابخانه Jetpack نشان می دهد:
if (healthConnectClient.features.getFeatureStatus(FEATURE_MINDFULNESS_SESSION) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
healthConnectClient.insertRecords(listOf(MindfulnessSessionRecord(
startTime = Instant.now().minus(Duration.ofHours(1)),
startZoneOffset = ZoneOffset.UTC,
endTime = Instant.now(),
endZoneOffset = ZoneOffset.UTC,
mindfulnessSessionType = MindfulnessSessionRecord.MINDFULNESS_SESSION_TYPE_MEDITATION,
title = "Lake meditation",
notes = "Meditation by the lake",
metadata = Metadata.activelyRecorded(
clientRecordId = "myid",
clientRecordVersion = 0.0,
device = Device(type = Device.TYPE_PHONE)
),
)))
}