How to convert a String to an android.net.Uri

19,820

I guess you want to use the parse method from the android.net.uri class. It returns a URi for the supplied encoded string.

android.net.uri parse()

Share:
19,820
FeelTheBurns
Author by

FeelTheBurns

Updated on June 03, 2022

Comments

  • FeelTheBurns
    FeelTheBurns almost 2 years

    Question: I have found that java.net.URI has a create(String uri) option but the android.net.uri does not.

    More specifically: I am trying to grab the output of RingtoneManager's RingtonePicker and set it as the default ringtone with 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);
    

    The problem is that RingtoneManager.EXTRA_RINGTONE_PICKED_URI returns a string not a URI. There might be a better way than to convert the string to a URI. I cannot find a reason why java.net.URI can do it and android.net.Uri can't.

    Any suggestions would be appreciated!