Как получить список мелодий от RingtoneManger в Android?
Я хотел бы реализовать приложение для получения всех имен мелодий звонка в списке из RingtoneManager. Я реализовал мое приложение для доставки всех мелодий звонка, которые доступны в устройстве, следующим образом:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
startActivity(intent);
Когда я запускаю свое приложение, я получаю диалоговое окно. В этом диалоге у меня есть набор мелодий звонка в виде списка с переключателями. Я хотел бы распечатать все элементы из этого списка в моем приложении.
Как можно распечатать все элементы из списка по умолчанию для менеджера мелодий звонка?
2 ответа
Вы пробовали getCursor()
метод RingtoneManager
?
Согласно документации:
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));
}