Как конвертировать строку в android.net.Uri - PullRequest
11 голосов
/ 07 октября 2010

Вопрос: Я обнаружил, что у java.net.URI есть опция создания (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 не может.

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

Ответы [ 2 ]

28 голосов
/ 07 октября 2010

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

android.net.uri parse ()

1 голос
/ 09 октября 2010

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

Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_RINGTONE,uri);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...