Как преобразовать строку в файл 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 не может.

Любые предложения будут оценены!

Спасибо

Ответ 1

Я предполагаю, что вы хотите использовать метод parse из класса android.net.uri. Он возвращает URi для поставляемой кодированной строки.

android.net.uri parse()

Ответ 2

Спасибо, ребята, но вот как я закончил работу,

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