【问题标题】:how to get list of ring tones from RingtoneManger in android?如何从 Android 中的 Ringtone Maker 获取铃声列表?
【发布时间】:2012-04-26 05:58:58
【问题描述】:
我想实现一个应用程序,从 RingtoneManager 获取列表中的所有铃声名称。我已经实现了我的应用程序,用于带来设备中可用的所有铃声,如下所示:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
startActivity(intent);
当启动我的应用程序时,我得到一个对话框。在该对话框中,我在带有单选按钮的列表视图中设置了一组铃声。我想将该列表中的所有项目打印到我的应用程序中。
如何打印默认铃声管理器列表视图中的所有项目?
【问题讨论】:
标签:
android
list
ringtone
items
【解决方案1】:
你试过RingtoneManager的getCursor()方法吗?
根据documentation:
public Cursor getCursor ()
返回所有可用铃声的光标。返回的游标将与每次调用此方法时返回的游标相同,因此不要关闭()游标。可以安全地 deactivate() 游标。
如果没有使用 RingtoneManager(Activity),调用者应该通过其 Activity 的生命周期来管理返回的游标,以防止游标泄漏。
【解决方案2】:
你可以的
RingtoneManager ringtoneManager = new RingtoneManager(yourActivity);
ringtoneManager.setType(RingtoneManager.TYPE_RINGTONE);
Cursor cursor = ringtoneManager.getCursor();
while (cursor.moveToNext()) {
System.out.println(cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX));
System.out.println(cursor.getString(RingtoneManager.URI_COLUMN_INDEX));
}