在Android中将字符串转换为Uri

246
我有一个字符串'songchoice',我想让它变成一个“Uri”,这样我就可以在MediaPlayer.create(context, Uri)中使用了。
如何将songchoice转换为Uri?
3个回答

537

8
如果您在传递给应用程序的字符串中包含任何空格,当您使用此Uri启动Intent时,您的应用程序将发生错误。请注意避免这种情况。 - Christopher Perry
它显示找不到符号解析。 - CrackerKSR

9
Uri.parse(STRING);

查看文档:

字符串:符合RFC 2396标准的编码URI

在使用之前必须将URL规范化,如下所示:

Uri.parse(Uri.decode(STRING));

2

我需要将一个本地文件路径转换为URI格式,但是没有file://前缀。因此即使使用了new URI()构造函数也无法正常工作。

 Uri.parse(Uri.decode(STRING));

导致FileNotFoundException: No content provider(参见此问题)。

我通过首先创建一个File对象来获取有效的URI,即:

Uri myUri = Uri.fromFile(new File(STRING));

这是唯一对我有效的方法。 - Vishnu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接