如何将字符串转换为android.net.Uri

如何将字符串转换为android.net.Uri,android,string,uri,Android,String,Uri,问题: 我发现java.net.URI有一个create(stringuri)选项,但是android.net.URI没有 更具体地说: 我正在尝试获取RingtoneManager的RingtonePicker的输出,并使用SetActualDefaultRingtoneUri将其设置为默认铃声: Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra( RingtoneManage

问题: 我发现
java.net.URI
有一个create(stringuri)选项,但是
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);
问题是,
ringtonemager.EXTRA\u RINGTONE\u PICKED\u URI
返回的是字符串而不是URI。 可能有比将字符串转换为URI更好的方法。我找不到java.net.URI能做到而android.net.URI不能做到的原因


如有任何建议,将不胜感激

我想您应该使用
android.net.uri
类中的
parse
方法。它返回所提供的编码字符串的URi


谢谢大家,但这就是我最终成功的原因

Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_RINGTONE,uri);

看看这个,如果它能帮你的话,谢谢大家,但我找到了我的解决方案。Uri=data.getParcelableExtra(RingtoneManager.EXTRA\u RINGTONE\u PICKED\u Uri);RingtoneManager.setActualDefaultRingtoneUri(这是RingtoneManager.TYPE_RINGTONE,uri);