问题:
我发现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不能。
任何建议将不胜感激!
答案 0 :(得分:28)
我想您要使用parse
类中的android.net.uri
方法。它为提供的编码字符串返回一个URi。
答案 1 :(得分:1)
谢谢大家,但这就是我最终让它发挥作用的方式
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_RINGTONE,uri);