【React Native】「react-native-image-crop-picker」でGoogleフォトから写真を取得できない

今回は、Android 10 の端末で開発中に発見した現象についてです。
現在、端末から画像を取得する時に「react-native-image-crop-picker」というライブラリを使っているのですが、Google フォトから画像を複数取得しようとしたところ「Invalid image selected」というエラーが発生しました。
最初は画像の複数選択を有効にしたせいかとも思いましたが、Google フォトからではなく「ファイル」アプリから画像を取得したところ、意図した通りに画像パスを取得できたので、どうやらライブラリと Google フォトとの相性が悪いようでした…。

 

で、こちらの現象について調べたところ、下記の投稿を発見しました。

[Android] Invalid image selected for Google Photos/System Gallery · Issue #1378 · ivpusic/react-native-image-crop-picker
https://github.com/ivpusic/react-native-image-crop-picker/issues/1378

上記記事によると、AndroidManifest.xml ファイルの <application> タグを下記のように修正すればいいとのことでした。

<application
  ......
  android:requestLegacyExternalStorage="true">
  ......
</application>

AndroidManifest.xml に 3行目の android:requestLegacyExternalStorage="true" を追加します。
修正は以上です。
アプリを再ビルドして実行したところ、Android 端末で Google フォトから画像パスが取得できるようになりました!
念のため、このあと複数端末でも確認してみます。

 

以上、React Native の Android アプリで「react-native-image-crop-picker」ライブラリを使って Google フォトから画像を取得できない時の対処方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG