カメラから撮影した画像をSDカードの特定のフォルダに保存すると助けていただけますか?私のカメラが開き、写真を撮って保存します。標準フォルダに保存します。写真を特定のフォルダに保存する
public class Camera extends Activity {
public static final int MEDIA_TYPE_IMAGE = 1;
public static final int MEDIA_TYPE_VIDEO = 2;
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
String Path;
private Uri fileUri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras=getIntent().getExtras();
Path= extras.getString("Path");
Log.d("camear","path: "+Path);
//File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "MyCameraApp");
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
this.startActivity(intent);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
//mediaFile = new File(mediaStorageDir.getPath() + File.separator +"IMG_"+ timeStamp + ".jpg");
//fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
Uri outputFileUri= Uri.fromFile(new File(Path+"/camera/"+timeStamp+".jpg"));// create a file to save the image
intent.putExtra("output", outputFileUri); // set the image file name
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
パスは、アプリケーション上の他の活動から来て、それはその値が細かい通過:私はそう持っているコードです。以前のアクティビティでは、ピクチャを保存するフォルダを作成します。
私は以下の答えを見て、いくつかの提案を実装しようとしました:How to save images from Camera in Android to specific folder?。私が試してくれなかったことの1つは、OnActivityResultに関する最後の提案でした。それが鍵ですか、それとも他に何かがありませんか?このページではContentResolver The Camera Intent is simply not workingについて言及していますが、どちらのページも同じように見えますが、別の方法で見ています。
Paul、この 'intent.putExtra(MediaStore.EXTRA_OUTPUT、outputFileUri);' –
をファイルに追加するか、すでに持っている他のintent.putExtraを置き換えることをお勧めしますか?私がそれを加えるか、またはそれに置き換えることを試みるとき、同じことが同じことをします。デバッガを使用して、outputFileUriがfile:/// mnt/sdcard/BucketMonkey/32rm215/cameraを指していることがわかります。パスの最後のファイルを追加するのは標準ですか?私はカメラを含むパスのためのmkdirを持っていない、それは私の問題を引き起こしているだろうか? –
私の以前の投稿を編集できませんが、自分のコメントだったカメラについてのコメントを無視してください。しかし、正当なフォルダへのパスであっても、メインのカメラフォルダに保存されます。 –