如何从android铃声管理器中获取铃声列表?
问题描述:
我想执行的申请获得从RingtoneManager.I一个列表中的所有铃声名称已经实现我的申请将所有铃声这在设备可用如下:如何从android铃声管理器中获取铃声列表?
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
startActivity(intent);
开始时,我的应用程序我得到一个对话框。在那个对话框中,我用一个单选按钮在列表视图中设置了铃声。我想将该列表中的所有项目打印到我的应用程序中。
如何从默认铃声管理器列表中打印所有项目?
答
您是否试过getCursor()
方法RingtoneManager
?
由于每documentation:
public Cursor getCursor()
返回所有可用的铃声的光标。返回的游标将是每次调用此方法时返回的相同游标,所以不要关闭()游标。光标可以安全地关闭()。 如果没有使用RingtoneManager(Activity),则调用者应该通过其活动的生命周期来管理返回的游标,以防止游标泄漏。
答
你可以做
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));
}