Разрешение на подключение к здоровью Android не запускаетсяAndroid

Форум для тех, кто программирует под Android
Anonymous
Разрешение на подключение к здоровью Android не запускается

Сообщение Anonymous »

Я выполнил все необходимые действия, предложенные в документации. Но по-прежнему при открытии приложения я не вижу диалогового окна разрешения и не вижу свое приложение в списке приложений приложения Health Connect.
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)

}



Подробнее здесь: https://stackoverflow.com/questions/798 ... -launching

Вернуться в «Android»