我无法使用给定的URI获取文件的路径。
我有一个视频应用程序,根据从EditText读取的路径播放视频。
我创建了一个浏览按钮,允许我使用ACTION_GET_CONTENT打开内置文件资源管理器。
我希望无论我在文件资源管理器中点击什么视频,路径都会自动设置为我的EditText。
我迷失在我称之为onActivityResult的部分
public Boolean onActivityResult(int requestcode, int resultCode, Intent data){
if(requestCode == RECEIVE_DATA){
Uri uriEnd = data.getData();
//here I am unsure of how to get the Path with the given Uri
//I am using SDK Build 24 Nougat
}
}
如果我调用uriEnd.getPath();我得到了一条奇怪的道路
我知道这个问题已被多次询问,我已经看了一下这些答案,但即使有了给出的建议,路径也永远不正确。
答案 0 :(得分:1)
我无法使用给定的URI获取文件的路径。
Uri
不是文件。
我创建了一个浏览按钮,允许我使用ACTION_GET_CONTENT打开内置文件资源管理器。
ACTION_GET_CONTENT
不一定涉及任何类型的“文件浏览器”。
如果如果我调用uriEnd.getPath();我得到了一条奇怪的道路
getPath()
的方案为Uri
,则Uri
上的 file
仅具有意义。最有可能的是,Uri
的方案是content
。该路径对您和用户来说毫无意义。向用户展示它几乎没有价值,将它放入要编辑的EditText
中的价值更低(因为编辑后的结果不太可能指向任何东西)。
因此,我建议你提出另一个用户界面,不需要向用户显示Uri
ACTION_GET_CONTENT
。