Как получить список мелодий от 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));
    }
Другие вопросы по тегам