13
有一些圖像文件,我想要得到這些圖像文件的Uri。 在我的代碼中,我只知道圖像文件的路徑和文件名。 如何從路徑和文件名得到Uri?我可以從它的名字得到Uri的圖像文件嗎?
有一些圖像文件,我想要得到這些圖像文件的Uri。 在我的代碼中,我只知道圖像文件的路徑和文件名。 如何從路徑和文件名得到Uri?我可以從它的名字得到Uri的圖像文件嗎?
如果你有一個File
,你可以隨時將其轉換爲URI
:
File file = new File(path + File.pathSeparator + filename);
URI uri = file.toURI();
或者,如果你想使用Android Uri類:
Uri uri = Uri.fromFile(file);
我有同樣的問題了我的文件瀏覽器活動...但你應該knhow的文件內容只支持mediastore數據,如圖像,音頻和視頻....我給你獲取圖像內容uri從SD卡選擇圖像....試試這個代碼...可能會對你有用...
public static Uri getImageContentUri(Context context, File imageFile) {
String filePath = imageFile.getAbsolutePath();
Cursor cursor = context.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Images.Media._ID },
MediaStore.Images.Media.DATA + "=? ",
new String[] { filePath }, null);
if (cursor != null && cursor.moveToFirst()) {
int id = cursor.getInt(cursor
.getColumnIndex(MediaStore.MediaColumns._ID));
Uri baseUri = Uri.parse("content://media/external/images/media");
return Uri.withAppendedPath(baseUri, "" + id);
} else {
if (imageFile.exists()) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, filePath);
return context.getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
} else {
return null;
}
}
}
謝謝你。其實,我在尋找Uri而不是URI,但它們幾乎相同,所以我可以找到解決方案。 – skysign 2010-02-01 07:32:02
啊,我不知道你的意思是Android的具體Uri類。我已經更新了我的答案,以包括這一點。 – 2010-02-01 15:03:33
謝謝你的回覆更新。 – skysign 2010-02-02 08:53:29