如何将字符串转换为 android.net.Uri
问题: 我发现 java.net.URI
有一个 create(String uri) 选项,但 android.net.uri
没有。
更具体地说: 我试图获取 RingtoneManager 的 RingtonePicker
的输出,并使用 SetActualDefaultRingtoneUri
将其设置为默认铃声:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TYPE
,RingtoneManager.TYPE_RINGTONE);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TITLE
, "Select Tone For Rainy Days");
startActivityForResult(intent, 0);
RingtoneManager.setActualDefaultRingtoneUri(this
,RingtoneManager.TYPE_RINGTONE
,RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
问题是 RingtoneManager.EXTRA_RINGTONE_PICKED_URI
返回一个字符串不是 URI。 可能有比将字符串转换为 URI 更好的方法。我找不到 java.net.URI 可以做到而 android.net.Uri 不能做到的原因。
任何建议将不胜感激!
Question:
I have found that java.net.URI
has a create(String uri) option but the android.net.uri
does not.
More specifically:
I am trying to grab the output of RingtoneManager's RingtonePicker
and set it as the default ringtone with SetActualDefaultRingtoneUri
:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TYPE
,RingtoneManager.TYPE_RINGTONE);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TITLE
, "Select Tone For Rainy Days");
startActivityForResult(intent, 0);
RingtoneManager.setActualDefaultRingtoneUri(this
,RingtoneManager.TYPE_RINGTONE
,RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
The problem is that RingtoneManager.EXTRA_RINGTONE_PICKED_URI
returns a string not a URI.
There might be a better way than to convert the string to a URI. I cannot find a reason why java.net.URI can do it and android.net.Uri can't.
Any suggestions would be appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜您想使用
android.net.uri
类中的parse
方法。它返回所提供的编码字符串的 URi。android.net.uri parse()
I guess you want to use the
parse
method from theandroid.net.uri
class. It returns a URi for the supplied encoded string.android.net.uri parse()
谢谢大家,但这就是我最终让它发挥作用的方式
Thanks guys, but this is how I ended up making it work