干し石榴長文用

長文以外はTumblrへ徐々に移します。

Android標準カメラアプリでOK押下しても反応しない場合

[撮影前]
アプリからMediaStore.ACTION_IMAGE_CAPTUREで標準カメラを起動して撮影してOK押しても反応しない.
×ボタンを押すと終了してRESULT_CANCELEDがちゃんと返ってくる.
この場合,MediaStore.EXTRA_OUTPUTに設定するUriを先にContentResolver#insert()しておくとOKなようだ.

参考: インテントでカメラを呼び出す方法の補足(主に、Xperia 2.1問題対応) - gabuchanの日記

[撮影後]
onActivityResult()に渡ってくるIntentのgetData()はnullなので,カメラアプリ起動前にinsertしたUriインスタンスフィールドに取っておく.
あとはそのUriをContentResolverからopenして適せん好きなところに保存するなど.
カメラアプリで撮った画像ファイルを残したくない場合はContentResolver#delete()する.