android health connect permission not launching
I've implemented all the required steps docs offer. But still when opening app, I can't see permission dialog neither I can see my app in apps list of health connect app.
private val permissionLauncher =
registerForActivityResult(PermissionController.createRequestPermissionResultContract()) { grantedPermissions ->
Log.d("mytag", "granted permissions: $grantedPermissions") // prints empty list
lifecycleScope.launch {
if (healthConnectManager.isStepsPermissionGranted()) {
val steps = healthConnectManager.readSteps()
Log.d("mytag", "steps: ${steps.records}")
} else {
Log.d("mytag", "not granted") // prints "not granted"
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
navigator.goTo(NavigationDestination.Home)
permissionLauncher.launch(healthConnectManager.readStepsPermissions)
Log.d("mytag", "isAvailable: ${healthConnectManager.isAvailable()}") // this prints true
}
class HealthConnectManager @Inject constructor(
private val healthConnectClient: HealthConnectClient,
@ApplicationContext private val context: Context
) {
val readStepsPermissions by lazy { setOf(HealthPermission.getReadPermission(StepsRecord::class)) }
fun isAvailable() = HealthConnectClient.getSdkStatus(context) == HealthConnectClient.SDK_AVAILABLE
suspend fun isStepsPermissionGranted() =
healthConnectClient.permissionController.getGrantedPermissions().containsAll(readStepsPermissions)
}