Kotlinでギャラリーから写真を選択する方法をご紹介します。
Androidのインテント(ACTION_OPEN_DOCUMENT)を使います。
ユーザさんが写真を選択すると、選択した写真のURI(content:~~)が返ってくるので、ImageViewに表示するようにしています。
//ギャラリーから写真選択 private val selectPhotoLauncher = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result -> Log.d("registerForActivity", result.toString()) if (result.resultCode != RESULT_OK) { return@registerForActivityResult } else { try { result.data?.data?.also { uri: Uri -> imageView?.setImageURI(uri) } } catch (e: Exception) { Toast.makeText(this, "エラーが発生しました", Toast.LENGTH_LONG).show() } } } private fun dispatchPickPhotoIntent() { val pickPhotoIntent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply { type = "image/*" } selectPhotoLauncher.launch(pickPhotoIntent) }