我想用相機意圖製作一張照片並將其保存到默認的DCIM文件夾中。然後我想獲取圖片存儲的路徑/文件名。從相機獲取路徑和文件名意圖結果
我用下面的代碼嘗試它:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
有了這個代碼,相機打開,我已經拍攝第一張照片後關閉,圖像保存到默認圖像文件夾(通常是/ DCIM /相機或SD卡/ DCIM /相機...)
但我怎樣才能得到拍攝的圖片的路徑和文件名? 我曾嘗試在onActivityResult
幾乎所有的東西我試圖
String result = data.getData();
和
String result = data.getDataString();
和
String result = data.toURI();
和
Uri uri = data.getData();
Ë tc。
我研究了最近兩天找到一個解決方案,有很多關於web和stackoverflow的文章,但沒有任何工作。 我不想縮略圖,我只想要路徑(uri?)到相機拍攝的圖像。
感謝您的幫助
編輯: 當我嘗試:
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(但也可以,我只需要圖片的路徑,名稱無關緊要)。
問候
再次編輯
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中的文件路徑?
你媒體鏈接知道路徑...因爲你創建你的文件。您可以將文件或路徑作爲您的活動的成員變量 –