Android13から導入されたPhoto pickerを試してみました。

画像を選択すると、URIが返ってきます。
今回は1枚の選択のみですが、複数選択などもできる模様。
Gradleで以下のモジュールを入れます。
implementation 'androidx.activity:activity-ktx:1.7.0-alpha03'
コードは以下の通り。
// Registers a photo picker activity launcher in single-select mode.
val pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
// Callback is invoked after the user selects a media item or closes the
// photo picker.
if (uri != null) {
Log.d("PhotoPicker", "Selected URI: $uri")
} else {
Log.d("PhotoPicker", "No media selected")
}
}
btnRead.setOnClickListener {
pickMedia.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
}
最後にGradleのcompileSdkが33になっていることを確認して実行。
android {
namespace 'com.atmc118.kantanmemo'
compileSdk 33
参考:
https://qiita.com/dowa/items/94c34d0ea60824d7da45
https://developer.android.com/training/data-storage/shared/photopicker