2013-02-28 46 views
1

我有兩種類型的文件路徑,一種是從我的sqlite數據庫獲得的,另一種是我從本地派生的。將以「content //:」或「/ data/..」開頭的路徑轉換爲URI

來自db的格式爲「content:// mnt/sdcard/data/download/image1」 而本地的是「/data/data/com.mytestapp/files/image1.png 「

我需要將兩者都轉換爲URI而不知道我得到了哪一個。有沒有辦法做到這一點?

從試驗和錯誤看來,Uri.parse不能在第二種類型上工作,因爲它不會將前綴file:///添加到它。

,因爲它,因爲它成爲文件URI.fromFile不會對第一類工作:///內容:/.....etc

任何幫助嗎? 謝謝

+0

您可以將「file:///」添加到本地路徑嗎? – 2013-02-28 01:58:47

+0

我使用上下文獲取路徑。 GetFilesDir,所以它沒有文件:/// – Snake 2013-02-28 02:34:57

+1

我想我可以使用字符串操作來添加它,但它看起來像一個額外的開銷 – Snake 2013-02-28 02:36:03

回答

2
File file = new File(path); 
if(file.exists()) { 
    return Uri.fromFile(file); 
} 
else { 
    return Uri.parse(path); 
}