2010-10-07 5 views
11

Soru:java.net.URI bir create (String uri) seçeneği bulundu, ancak android.net.uri yapamaz.Bir dize bir android.net dönüştürebilirsiniz.Uri

Daha Özel: RingtoneManager'ın RingtonePicker çıktısını alıyorum ve SetActualDefaultRingtoneUri ile varsayılan zil sesi olarak ayarlamaya çalışıyorum; O varlık

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); 

Sorun, RingtoneManager.EXTRA_RINGTONE_PICKED_URI bir dize değil uri döndürür. Dizeyi bir Uri'ye dönüştürmekten daha iyi bir yol olabilir. Java.net.URI'nin bunu yapabilmesi için bir neden bulamıyorum ve android.net.Uri yapamaz.

Herhangi bir öneriniz için teşekkür ederiz!

Teşekkür

+1

bu Bkz çalıştırıyorlar sona erdi nasıl budur http://stackoverflow.com/questions/3487389/java-convert- string-to-uri/3487413 # 3487413 – ccheneson

cevap

21

Sana android.net.uri sınıftan parse yöntemini kullanmak istiyorsunuz sanırım. Sağlanan kodlanmış dizge için bir URi döndürür.

android.net.uri parse()

+0

Teşekkürler çocuklar ama çözümümü buldum. –

+1

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

+0

Teşekkürler !!! Parcelable hafif/android Seri hale getirilebilir .... – tom

1

teşekkürler çocuklar, ama buna yardımcı olup

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