// в деятельности

м приложении пользователь должен выбрать аудиофайл, который затем обрабатывает приложение. Проблема в том, что для того, чтобы приложение делало то, что я хочу, с аудиофайлами, мне нужен URI в формате файла. Когда я использую собственный музыкальный проигрыватель Android для поиска аудиофайла в приложении, URI является URI контента, который выглядит следующим образом:

content://media/external/audio/media/710

Однако, используя популярное приложение для управления файлами Astro, я получаю следующее:

file:///sdcard/media/audio/ringtones/GetupGetOut.mp3

С последним мне гораздо удобнее работать, но, конечно, я хочу, чтобы приложение имело функциональность с аудиофайлом, который выбирает пользователь, независимо от программы, которую он использует для просмотра своей коллекции. Итак, мой вопрос, есть ли способ преобразоватьcontent:// URI стиля вfile:// URI? В противном случае, что бы вы посоветовали мне решить эту проблему? Вот код, который вызывает Chooser, для справки:

Intent ringIntent = new Intent();
ringIntent.setType("audio/mp3");
ringIntent.setAction(Intent.ACTION_GET_CONTENT);
ringIntent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(ringIntent, "Select Ringtone"), SELECT_RINGTONE);

Я делаю следующее с URI контента:

m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);

Затем сделайте некоторые вещи FileInputStream с указанным файлом.

Ответы на вопрос(5)

Ваш ответ на вопрос