यह गाइड, Health Connect के 1.1.0-rc01 वर्शन के साथ काम करती है.
Health Connect में सजगता डेटा टाइप की सुविधा मिलती है. इससे, मानसिक सेहत के अलग-अलग पहलुओं को मेज़र किया जा सकता है. जैसे, तनाव और चिंता. 'ध्यान' एक तरह का डेटा है, जो Health Connect में सेहत से जुड़ी जानकारी के तहत आता है.
इस सुविधा को कौन इस्तेमाल कर सकता है
यह पता लगाने के लिए कि उपयोगकर्ता के डिवाइस पर, Health Connect पर ज़्यादा ध्यान देने वाले सेशन के रिकॉर्ड की सुविधा काम करती है या नहीं, क्लाइंट पर FEATURE_MINDFULNESS_SESSION
की उपलब्धता देखें:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_MINDFULNESS_SESSION
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
ज़्यादा जानने के लिए, सुविधा की उपलब्धता देखें लेख पढ़ें.
ज़रूरी अनुमतियां
Health Connect में मौजूद किसी भी डेटा टाइप की तरह, ज़्यादा ध्यान देने वाले सेशन का ऐक्सेस, अनुमतियों की एक जोड़ी से सुरक्षित होता है: READ_MINDFULNESS
और
WRITE_MINDFULNESS
.
उपयोगकर्ता से अनुमतियों का अनुरोध करना
क्लाइंट इंस्टेंस बनाने के बाद, आपके ऐप्लिकेशन को उपयोगकर्ता से अनुमतियों का अनुरोध करना होगा. उपयोगकर्ताओं को किसी भी समय अनुमतियां देने या अस्वीकार करने की अनुमति होनी चाहिए.
ऐसा करने के लिए, ज़रूरी डेटा टाइप के लिए अनुमतियों का सेट बनाएं. पक्का करें कि सेट में मौजूद अनुमतियों का एलान, आपके Android मेनिफ़ेस्ट में पहले किया गया हो.
// 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)
}
}
उपयोगकर्ता किसी भी समय अनुमतियां दे सकते हैं या उन्हें रद्द कर सकते हैं. इसलिए, आपके ऐप्लिकेशन को समय-समय पर यह देखना होगा कि उपयोगकर्ता ने कौनसी अनुमतियां दी हैं. साथ ही, उन स्थितियों को मैनेज करना होगा जिनमें अनुमति रद्द हो जाती है.
माइंडफ़ुलनेस सेशन के रिकॉर्ड में शामिल जानकारी
हर माइंडफ़ुलनेस सेशन रिकॉर्ड में, उपयोगकर्ता के किसी भी तरह के माइंडफ़ुलनेस सेशन की जानकारी कैप्चर की जाती है. जैसे, ध्यान, श्वास लेने की गतिविधि, और गतिविधि. रिकॉर्ड में, सेशन के बारे में ज़्यादा जानकारी भी शामिल हो सकती है.
इस्तेमाल किए जा सकने वाले एग्रीगेशन
इस डेटा टाइप के लिए, एग्रीगेशन की सुविधा काम नहीं करती.
इस्तेमाल का उदाहरण
यहां दिए गए कोड स्निपेट में, 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)
),
)))
}