Mokera

Tech Sheets

mokelab

Runtime permissions with Jetpack Compose

Last updated:2024-07-10

To request runtime permissions in Jetpack Compose, use rememberLauncherForActivityResult and ActivityResultContracts.RequestPermission() .

@Composable
fun PermissionScreen() {
  val request = rememberLauncherForActivityResult(
    ActivityResultContracts.RequestPermission()
  ) { isGranted ->
    if (isGranted) {
      // Granted!
    } else {
      // Failed..
    }
  }
  Scaffold { contentPadding ->
    Column(
      modifier = Modifier.padding(contentPadding),
    ) {
      Button(onClick = {
        // Show dialog
        request.launch(android.Manifest.permission.POST_NOTIFICATIONS)
      }) {
        Text("Request permissions")
      }
    }
  }
}

Back