Java 如何将字符串解析为Uri?

Java 如何将字符串解析为Uri?,java,android,ringtonemanager,Java,Android,Ringtonemanager,如何将mp3音乐(采用字符串格式)解析为Uri并使用铃声管理器播放?有什么建议吗 Edit:我尝试了如下方法,其中item1采用String格式。但当我运行应用程序时,音乐不会播放 String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0"; String[] projection = { MediaStore.Audio.Media.TITLE, }; Cursor curso

如何将mp3音乐(采用
字符串
格式)解析为Uri并使用
铃声管理器
播放?有什么建议吗

Edit:我尝试了如下方法,其中item1采用
String
格式。但当我运行应用程序时,音乐不会播放

    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
    String[] projection = {
            MediaStore.Audio.Media.TITLE,
    };
    Cursor cursor = this.managedQuery(
            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
            projection,
            selection,
            null,
            null);

    spin.setOnItemSelectedListener(this);
    List<String> songs = new ArrayList<String>();
    while (cursor.moveToNext()) {
        songs.add(cursor.getString(0));
    }
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, songs);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(dataAdapter);
             . 
             .
             .
    @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    item1 = parent.getItemAtPosition(position).toString();
      }
              . 
              .
    Uri par=Uri.parse(item1);
    Uri alarmSound = RingtoneManager.setActualDefaultRingtoneUri(context,RingtoneManager.TYPE_ALARM,par);
    Ringtone ringtone = RingtoneManager.getRingtone(context,par);
                   .
                   .
                   .

    ringtone.play();
String selection=MediaStore.Audio.Media.IS_MUSIC+“!=0”;
字符串[]投影={
MediaStore.Audio.Media.TITLE,
};
Cursor Cursor=this.managedQuery(
MediaStore.Audio.Media.EXTERNAL\u CONTENT\u URI,
预测
选择
无效的
无效);
spin.setOnItemSelectedListener(此);
列表歌曲=新建ArrayList();
while(cursor.moveToNext()){
songs.add(cursor.getString(0));
}
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,歌曲);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
spin.setAdapter(dataAdapter);
. 
.
.
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
item1=parent.getItemAtPosition(position.toString();
}
. 
.
uripar=Uri.parse(item1);
Uri alarmSound=RingtoneManager.setActualDefaultRingtoneUri(上下文,RingtoneManager.TYPE_ALARM,par);
Ringtone Ringtone=RingtoneManager.getRingtone(上下文,段落);
.
.
.
铃声。播放();
如果它是有效的Uri,请使用您可以使用的

/**
 * Creates a Uri which parses the given encoded URI string.
 *
 * @param uriString an RFC 2396-compliant, encoded URI
 * @throws NullPointerException if uriString is null
 * @return Uri for this given uri string
 */
public static Uri parse(String uriString) {
    return new StringUri(uriString);
}

你确定
item1
是一个有效的铃声URI吗?是的,它是从微调器中选择的mp3音乐转换成
String
我不认为
item1
是一个String/URI你怎么能这么说?