2013-07-16 85 views
1

我需要建立從一個文件路徑Uri對象,但使用Uri.fromFile(new File(path))是太慢了,所以我想手動建立它。如何在不新建文件的情況下構建文件Uri?

首先,Uri.parse("file://" + path)不起作用,因爲它不對路徑進行路徑編碼。

我試過Uri.Builder().scheme("file").path(orgPath).build(),但結果是:file:path而不是file://path

我怎樣才能建立一個Uri的一樣Uri.fromFile()呢,更快的方法?

謝謝!

回答

2

嘗試Uri.encode()

"file://"+Uri.encode(path) 

或者,如果你想允許像串/或比任何其他把它作爲第二個參數

,如:

"file://" + Uri.encode(path,"/") 
+0

Uri.encode()編碼的一切,包括/,這是從路徑編碼不同。 –

+0

@ RomulusUrakagiTs'ai看到我更新的答案! –

+0

這也適用。謝謝。 –

2

OK我發現我只需要添加.auth()Uri.Builder().scheme("file").auth("").path(orgPath).build()工作正常。

相關問題