簡単なカメラアプリを作っているのですが、撮影した画像が保存できませんでした。
手元の本では、FileOutputStreamを使って、SDカードに保存しているのですが、どうもうまく行きません。
ファイルのパスが間違っているのか?とか、いろいろやってみても、うまく行きません。
そこで、本はちょっと諦めて、ネットでいろいろ見ていると、insertImageを使った保存方法があるようです。
onPictureTakenの中で、
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, null);
で、データ配列をビットマップ化して、
MediaStore.Images.Media.insertImage(getContentResolver(), bmp, "", null);
で、保存・・・
getContentResolver()がエラーになりました。
MediaStore.Images.Media.insertImage(getContext().getContentResolver(), bmp, "", null);
で、保存・・・
よし!エラーなしです。
実行・・・
お~保存できました。
場所は、SDカード内の、写真が保存されている所に、Cameraと言うフォルダが作られて、その中でした。
特に何も指定してないので、自動で選ばれたようです。
ファイル名も適当な数字でした。
最近のコメント