在 Android 中将字符串转换为 Uri

Posted

技术标签:

【中文标题】在 Android 中将字符串转换为 Uri【英文标题】:Turning a string into a Uri in Android 【发布时间】:2011-02-12 03:19:12 【问题描述】:

我有一个字符串,'songchoice'。我希望它成为一个“Uri”,这样我就可以使用MediaPlayer.create(context, Uri)

如何将歌曲选择转换为 Uri?

【问题讨论】:

【参考方案1】:
Uri myUri = Uri.parse("http://www.google.com");

这是文档http://developer.android.com/reference/android/net/Uri.html#parse%28java.lang.String%29

【讨论】:

当然,如果你在应用程序中传递的字符串中有任何空格,如果你用这个 Uri 启动一个 Intent,就会到处乱扔垃圾。【参考方案2】:
Uri.parse(STRING);

见文档:

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

网址在使用前必须规范化,如下所示:

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

【讨论】:

【参考方案3】:

我必须转换为 URI 的字符串是本地文件路径,但没有 file:// 前缀。所以就算了

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

导致FileNotFoundException: No content provider(另见this question)。 我首先创建了一个File 对象,即:

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

【讨论】:

以上是关于在 Android 中将字符串转换为 Uri的主要内容,如果未能解决你的问题,请参考以下文章

在Android中将文件路径转换为Uri

在 Android 4.4 中将 content:// URI 转换为实际路径

如何在Android中将时间戳字符串转换为日期[重复]

在android中将字符串转换为日期格式

如何在ansible中将字典或列表转换为字符串

在 Android 中将字符串转换或提取为地址类型