我希望用户选择一个文本文件,以便应用程序可以读取其内容。在onActivityResult我有以下代码:Android:从URI获取文本文件的路径会带来奇怪的路径
filePath.getPath()带来了这种怪异的路径:/document/**1EEB-0A13:**Download/filename.txt
我不明白什么是1EEB-0A13:,我几乎可以肯定,没有它,它就会工作。不用说,我得到一个例外,即没有这样的文件或目录。
我看到很多关于如何获得真实路径的例子,但它们似乎与图像有关。我尝试了其中一个,但它抛出了一个异常。
我没有解释但请参考:https://stackoverflow.com/questions/5568874/how-to-extract-the -file-name-from-uri-returned-from-intent-action-get-content –
你应该看看filePath.toString()并且认识到它不是一个文件路径,而是一个带有内容方案的URI。使用内容方案而不是文件路径。 – greenapps
'1EEB-0A13'是SD卡的USB标识符。放入一张不同的卡片,看看这个标识符是否改变。 – greenapps