intent.putExtraで保存した画像をonActivityResult側で取りたかったのでデバッグをしながら
作業をしていたのですが、中身をみるとなんとnullになっているではありませんかー!
多分、putExtraで外部ストレージに保存してしまったからだと思います。
こちらの応急処置としてはまずintent.putExtraを消してしまい、代わりに以下の
intent構文を書きます。
</pre> <p class="default prettyprint prettyprinted">startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), 100);</p> <pre>
こちらはonActivityResult側です。
</pre> <pre>Uri yourCapturedImage = intent.getData();
敢えて何も保存せずにそのままintentに持たせるという荒業ですが後でデバッグ
をするとintentの中身にしっかりと画像が入っていたのでintentの中身でexifinterfaceとか
使う場合はこちらでもいいかなぁと感じました。
ただandroid8だと動作しないのでこちらは処理を分ける必要があります。
今回の件は、カメラを使ってあれこれするとこのように機種ごとに違う動作を求められるので
なかなかに鬼門でした。
※本当はintentがnullでもメンバ変数にUriを持たせれば普通にonActivityResult内で
使えるのでできるならばこっちのほうがおすすめです。というかみんなこっちで
やってるんだろうな・・・。