2010-10-07 12 views
11

J'ai trouvé que java.net.URI a une option create (String uri) mais pas android.net.uri.Comment convertir une chaîne en un android.net.Uri

Plus spécifique: J'essaie de récupérer la sortie de RingtonePicker de RingtoneManager et de la définir comme sonnerie par défaut avec 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); 

problème étant que, RingtoneManager.EXTRA_RINGTONE_PICKED_URI retourne une chaîne pas uri. Il pourrait y avoir un meilleur moyen que de convertir la chaîne en Uri. Je ne peux pas trouver une raison pour laquelle java.net.URI peut le faire et android.net.Uri ne peut pas.

Toutes les suggestions seraient appréciées!

Merci

+1

Voir ce si elle vous aide http://stackoverflow.com/questions/3487389/java-convert- string-to-uri/3487413 # 3487413 – ccheneson

Répondre

21

Je suppose que vous voulez utiliser la méthode parse de la classe android.net.uri. Il renvoie un URi pour la chaîne codée fournie.

android.net.uri parse()

+0

Merci les gars mais j'ai trouvé ma solution. –

+1

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

+0

Merci !!! Parcelable est le léger/android Serializable .... – tom

1

Merci les gars, mais voilà comment je fini par faire fonctionner

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