Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Photo Pickerを触って比較してみた

napplecomputer
February 24, 2022

Photo Pickerを触って比較してみた

DroidKaigi: ランチタイムLT会 Vol.1で発表した内容です。

napplecomputer

February 24, 2022
Tweet

More Decks by napplecomputer

Other Decks in Technology

Transcript

  1. Mobility Technologies Co., Ltd. 2 ▪ なっぴー
 ▪ @napplecomputer
 ▪

    株式会社Mobility Technologies所属
 ▪ タクシーアプリGOのユーザーアプリ
 自己紹介

  2. Mobility Technologies Co., Ltd. 4 ▪ Android13 DP1と一緒に発表されたAndroid13の新機能のひとつ
 ▪ 画像や動画を選択するUIを表示し、呼び出し元に選択ファイルを渡す


    ▪ Permission不要
 ▪ ユーザーが選択したファイルにはアプリが終了するまでアクセスできる
 ▪ GooglePlayシステムの更新によりAndroid11以降で使えるようになる
 ▪ ただしAndroid Goでは使えないらしい 🙄
 ▪ ユーザーの画像や動画にアクセスするための手段として推奨されている
 Photo Picker

  3. Mobility Technologies Co., Ltd. 7 ▪ 複数選択可能
 ▪ 複数選択時の上限を設定できる
 ▪

    ローカルに無いGoogle Photosの画像は読み込めない🙄
 ▪ 複数選択できない場合はボトムシートが半分くらいまで上がった状態で表示され る
 ▪ 複数選択できる場合はボトムシートがフルスクリーンになる
 Photo Picker

  4. Mobility Technologies Co., Ltd. 9 val intent = Intent(MediaStore.ACTION_PICK_IMAGES).apply {

    putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, 2) } startActivityForResult(intent, REQUEST_CODE)
 Photo Picker

  5. Mobility Technologies Co., Ltd. 10 val intent = Intent(MediaStore.ACTION_PICK_IMAGES).apply {

    type = "image/*" } startActivityForResult(intent, REQUEST_CODE)
 Photo Picker

  6. Mobility Technologies Co., Ltd. 13 ▪ ACTION_PICK
 ▪ ACTION_OPEN_DOCUMENT
 ▪

    ACTION_GET_CONTENT
 たくさんあるよ画像選択Intent

  7. Mobility Technologies Co., Ltd. 14 ▪ 古からあるファイル選択の方法
 ▪ MIME Typeを指定すれば画像だけを選択できる


    ▪ 多くの端末ではギャラリーアプリやGoogle Photosアプリが起動する
 ▪ 挙動はそれぞれのアプリによって異なる
 ▪ ファイルの場所のURIを指定する必要があったが最近は指定しなくても普通に立 ち上がる
 ACTION_PICK

  8. Mobility Technologies Co., Ltd. 16 ▪ Android 4.4から使える
 ▪ MIME

    Typeを指定すれば画像だけを選択できる
 ▪ Storage Access Frameworkによるファイル選択
 ▪ ファイルのメタ情報なども取得できる
 ▪ ファイルへのアクセス権限の期間を永続化出来る
 ACTION_OPEN_DOCUMENT

  9. Mobility Technologies Co., Ltd. 18 ▪ 古からあるファイル選択の方法
 ▪ MIME Typeを指定すれば画像だけを選択できる


    ▪ OSバージョンや端末に寄って挙動が大きく異る
 ▪ 最近のOSではほぼACTION_OPEN_DOCUMENTとほとんど同じ挙動になる
 ACTION_GET_CONTENT

  10. Mobility Technologies Co., Ltd. 20 既存機能との比較
 名前 Photo Picker ACTION_OPEN_DOCUMENT

    ACTION_GET_CONTENT ACTION_PICK 使用できるSDK バージョン 30 19 1 1 参照以外の操作 不可能 ファイルによってはメタデータなど を取得できる OSバージョンによって不可能 だったり ACTION_OPEN_DOCUME NTと同じだったり 基本的に不可能 アクセス期間 アプリが終了するま で デフォルトではアプリが終了するま で 永続化可能 OSバージョンによって不可能 だったり ACTION_OPEN_DOCUME NTと同じだったり アプリが終了するま で 複数選択 可能 可能 可能 基本的に可能 Google Photos の写真選択 不可能 不可能? 可能 基本的に可能