2013-05-30 6 views
1

Я получил журнал от пользователя о музыке, которая не всегда играет. Как ни странно, причиной, по-видимому, является отсутствие системного файла рингтонов.Иногда File.exists() возвращает false для системной мелодии звонка

Путь к файлу является /system/media/audio/alarms/Alarm_Classic.ogg

я загрузить его в MediaPlay с:

mp.setDataSource(context, Uri.parse(Uri.encode(fileInfo))); 
mp.prepareAsync(); 

Это вызывает MediaPlayer's OnError (1, -2147483648). Для ведения журналов после этого я проверяю, существует ли файл:

File file = new File(fileInfo); 
if (!file.exists()) { 
    //log 
} 

И отправленный журнал заявляет, что файл фактически отсутствует. Довольно странно, учитывая, что за последние несколько дней он играл хорошо, и пользователь сказал, что ничего не сделал с файлом.

Телефон Galaxy Nexus с Android 4.2.2.

Любые идеи, которые могут вызывать описанное поведение? Похоже, случайная проблема с разрешениями на чтение - это, может быть, известная ошибка?

+0

Вполне вероятно, что файл - если он был всегда присутствует - был утрачен в какой-то момент в обновлении, по крайней мере, это, кажется, не быть частью акций 4.2.2 –

ответ

-1

У вас есть разрешение на внешнее хранилище?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+1

Это не имеет никакого отношения к этому вопросу. –

 Смежные вопросы

  • Нет связанных вопросов^_^