モケラ

Tech Sheets

mokelab

Jetpack Composeで結果のあるアクティビティを起動する

最終更新日:2023-03-26

View System版では結果のあるアクティビティを起動するには registerForActivityResult() を使いました。

Jetpack Composeでは rememberLauncherForActivityResult() を使います。公式ドキュメントはこちら

@Composable
fun MainScreen() {
  var uri by remember { mutableStateOf<Uri?>(null) }
  val launcher = rememberLauncherForActivityResult(GetContent()) {
    uri = it
  }
  Column {
    Button(onClick = {
      launcher.launch("image/*")
    }) {
      Text("Pick Content")
    }
    if (uri != null) {
      Text("uri=${uri}")
    }
  }
}

一覧に戻る