LoginSignup
2
2

More than 1 year has passed since last update.

Android13写真選択ツールの実装方法

Last updated at Posted at 2022-05-15

今回はAndroid13にて追加予定となっている写真選択ツールを使ってみました。

 リファレンス

実装方法

MainActivity.kt
binding.button.setOnClickListener {
  val intent = Intent(MediaStore.ACTION_PICK_IMAGES).apply {
    type = "image/*"
  }
  startForResult.launch(intent)
}

private val startForResult =
        registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult? ->
            if (result?.resultCode == Activity.RESULT_OK) {
                result.data?.data?.also { uri: Uri ->
                    val inputStream = contentResolver?.openInputStream(uri)
                    val image = BitmapFactory.decodeStream(inputStream)
                    binding.imageView.setImageBitmap(image)
                }
            }
        }

画像を1つ選択するパターンです。

Screenshot_20220515_190336.png

このようにアプリの画面の上に写真選択する画面が出てきました。

複数選択する場合はIntenteに追加こちらを追加します。

intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, maxNumPhotosAndVideos)

maxNumPhotosAndVideosは最大の選択する枚数です。

簡単に実装できました。

こちらはパーミッションの許可を求めなくて良いので、良さそうですね。

注意点として、Android 11(API レベル 30)以上(Android Go デバイスを除く)をターゲットとするアプリのサポートが追加されます。との事なので、API レベル 30以下も対象としてあるアプリが多いと思うので、全てこれに変更してOKというわけには行かなそうですね。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2