我正在开发一个应用程序,我需要所有的铃声标题和uri。我只需要标题而不是铃声对象。获得铃声uri和title的一个众所周知的方法是
rm = new RingtoneManager(getActivity());
rm.setType(RingtoneManager.TYPE_RINGTONE);
Cursor cursor = rm.getCursor();
if(cursor.moveToFirst()){
do{
try{
Uri uri= rm.getRingtoneUri(cursor.getPosition());
Ringtone rtone = rm.getRingtone(cursor.getPosition());
System.out.printf("URI: " + uri.toString());
System.out.printf("Title: " + rtone.getTitle(this));
}
catch(Exception ee){}
}while(cursor.moveToNext());
}
我的问题是铃声对象。每次创建Ringtone对象的成本很高。铃声对象也创建媒体播放器。因此,当我加载所有列表时,它需要一点时间。我还测试了代码而没有创建Ringtone对象,这很公平。