2010-10-07 20 views
11

Pytanie: Znalazłem, że java.net.URI ma opcję create (String uri), ale android.net.uri nie.Jak przekonwertować ciąg na android.net.Uri

Dokładniej: Próbuję pobrać wyjście RingtonePicker RingtoneManager i ustawić go jako domyślny dzwonek za pomocą 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); 

Problem jest, że RingtoneManager.EXTRA_RINGTONE_PICKED_URI nie zwraca ciąg URI. Może istnieć lepszy sposób niż konwertowanie ciągu znaków na Uri. Nie mogę znaleźć powodu, dla którego java.net.URI może to zrobić, a android.net.Uri nie może tego zrobić.

Wszelkie sugestie będą mile widziane!

Dzięki

+1

Zobacz to, czy to pomaga http://stackoverflow.com/questions/3487389/java-convert- string-to-uri/3487413 # 3487413 – ccheneson

Odpowiedz

21

Chyba chcesz użyć metody parse z klasy android.net.uri. Zwraca URi dla dostarczonego zakodowanego ciągu.

android.net.uri parse()

+0

Dzięki chłopaki, ale znalazłem moje rozwiązanie. –

+1

Uri uri = data.getParcelableExtra (RingtoneManager.EXTRA_RINGTONE_PICKED_URI); \t RingtoneManager.setActualDefaultRingtoneUri (This, RingtoneManager.TYPE_RINGTONE, uri); –

+0

Dzięki! Parcelable to lekki/Android Serializable .... – tom

1

Dzięki chłopaki, ale to, jak skończyło się to działa

Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); 
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_RINGTONE,uri); 
Powiązane problemy