を作成していない私は、次のことをしようとしている:保存写真は何のファイル
1. Click a button to take a photo.
2. Save photo.
3. Add photo into the gallery.
4. Show photo into an ImageView.
1
と4
が正常に動作しますが、私は2
と3
に問題を抱えています。
これは私のコードです:これにより
photoFile = createImageFile();
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = timeStamp;
File imageFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), imageFileName + ".jpg");
mCurrentPhotoPath = imageFile.getAbsolutePath();
return imageFile;
}
私は画像を保存する作成したfilePathにしています。
private void galleryAddPic() {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(mCurrentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
getContext().sendBroadcast(mediaScanIntent);
}
別:ギャラリーに写真を追加するonActivityResult
が、私は関数を呼び出す私の中で、今
if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(getContext(),
"es.antonio.prueba.fileprovider",
photoFile);
takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePhotoIntent, REQUEST_CAMERA);
}
:
は今、私は画像を保存するために余分のparamsでIntent
を呼び出します写真をImageView
に設定する人:
私の方法がうまくいきません(私はAndroid Developers tutrialに従います)ので、私はSDに撮影した画像を保存するのに苦労しています。私はインテントに余分を渡すことはトリックを行うべきだと思ったが、それは機能していない。
ヒント?
マニフェストのパーミッションは書かれていますか? – Ivan
はい、カメラに追加され、外部記憶装置を読み書きします。 – canillas
'createNewFile();'はtrueまたはfalseを返します。あなたは戻り値をチェックしていません。これを行うためのコードとトーストを追加してユーザーに知らせてください。 – greenapps