私がテストしている3つのデバイスのうち、4.0.3を搭載したGoogle Nexus Sでのみこの問題が発生するため、これはちょっと奇妙です。写真を撮るためにネイティブカメラアプリを起動していますが、画像がどこに保存されるかは気にしないので、デフォルトの場所に保存されることを期待して指定しませんが、場所は保存されませんすべて!
Galaxy S2とSamsungSkyrocket(両方とも2.3.something)で正常に動作します。
アプリの起動に使用しているコード
Intent camIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camIntent, TAKE_PHOTO);
return true;
私はそれを本当にシンプルに保っています、それで私は混乱しています!Nexus Sのカメラに固有の問題を知っている人はいますか?
編集: Nexus SのカメラアプリがファイルをonActivityResultに保存しているように見えますが、ネイティブカメラアプリを起動し、戻ったときに画像を保存しないため、保存されません。誰かがこれが真実であることを知っていますか?この振る舞いを見ましたか?
編集:誰もこれを見たことがありませんか?私がこれに遭遇した最初の人だとは信じがたいです...
編集:さて、もう少し作業した後、次のようにインテントのEXTRA_OUTPUTにURIを追加してみました:
camIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.parse(folderPath + String.format("%d.jpg", System.currentTimeMillis())));
そして今、私はここで説明されている振る舞いを見る:Android ACTION_IMAGE_CAPTURE OKを押したときにカメラアプリが何もしないインテント、そして私がこのように試したので、事前にファイルを作成することも機能しない:
File f = new File(folderPath, filename);
f.createNewFile();
camIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.parse(folderPath + filename));