将以“content //:”或“/ data / ..”开头的路径转换为URI

时间:2013-02-28 01:54:46

标签: android

我有两种类型的文件路径,一种来自我的sqlite数据库,另一种来自本地。

来自db的那个具有以下格式" content:// mnt / sdcard / data / download / image1" 本地的那个是" /data/data/com.mytestapp/files/image1.png"

我需要将两者都转换为URI,而不知道我得到了哪一个。有办法吗?

从试验和错误看,似乎Uri.parse在第二种类型上不起作用属性,因为它没有向它添加前缀file:///。

URI.fromFile对第一个类型不起作用,因为它变成了file:/// content:/.....etc

有任何帮助吗? 感谢

1 个答案:

答案 0 :(得分:2)

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