カメラの意図で写真を作成し、デフォルトのDCIMフォルダに保存したいとします。次に、画像が保存されているパス/ファイル名を取得したいと思います。カメラのインテント結果からパスとファイル名を取得する
私は次のコードでそれをしようとしています:このコードで
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
、カメラが開き、私は1枚の画像を撮影した後に、それはデフォルトの画像フォルダ(通常は/ DCIM /に絵を閉じて保存しますカメラまたはSDカード/ dcim /カメラ...)
しかし、どのようにして撮影画像のパスとファイル名を得ることができますか? 私は
String result = data.getData();
と
String result = data.getDataString();
と
String result = data.toURI();
と
Uri uri = data.getData();
電子を試してみましたonActivityResult
のほぼすべてのものを試してみましたtc。
これについての解決策を見つけるために私は最後の2日間を調査しましたが、ウェブ上や多数の記事がありますが、何も動作しません。 サムネイルは欲しくない、私はカメラが撮影した画像にのみパス(uri?)を付けたい。私がしようとすると :
は、任意のヘルプ
EDITありがとうござい
path=Environment.DIRECTORY_DCIM + "/test.jpg";
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
それがtest.jpgとしてではなく、通常のイメージ名2011-10-03で画像を保存しません。.. ... jpg(しかしそれは大丈夫です、私はイメージへのパスが必要です、それは名前が何であるかは関係ありません)。
敬具再び
EDIT
path=Environment.getExternalStorageDirectory().getPath() + "/DCIM/Camera/";
File file = new File(path,"test111111111.jpg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
私はこれをしようとすると、それが正しいフォルダに与えられた名前(例えばtest111111.jpg)で画像を保存します。 しかし、どのようにしてonActivityResultでファイルパスを取得できますか?
あなたをパスを知っている...ファイルを作成してから。ファイルまたはパスをアクティビティのメンバ変数として保持することができます。 –