Мне бы хотелось иметь возможность устанавливать системные мелодии звонка из моего приложения для Android.Я сталкиваюсь с немного интересной проблемой, потому что я никогда в своем коде ни разу не ссылался на звуки напрямую, а вместо этого использую настройку, которая ссылается на них через целочисленные значения, поэтому код, который я нашел в Интернете для этого, не совсем подходит для меня.
Я не уверен, что мой код для установки мелодии звонка правильный или нет.Он заменяет мою мелодию звонка, но никогда не заменяет ее звуком, к которому я ее прошу.Когда я использовал «Uri.parse» и указывал путь для поиска правильного файла, он не заменял мелодию звонка ничем.Теперь, используя «Uri.fromFile» и обращаясь к звуку через файл, он заменяет его типичным звуком телефона, который, как я полагаю, является своего рода значением по умолчанию.
Я не получаю никаких ошибок отэто, но я получаю одно предупреждение, которое кажется уместным.
dataChanged but no participant pkg='com.android.providers.settings' uid=10096
Мне кажется, что я просто не обращаюсь к файлу должным образом.Я могу найти путь к звуку в строке и, конечно, определить их как файл, но я должен что-то упустить.
Любые идеи приветствуются, спасибо.
РЕДАКТИРОВАТЬ:: Ну, похоже, ошибка появляется только тогда, когда вы «меняете мелодию звонка».Так что, если бы я снова установил тот же звук, что и для мелодии звонка, он бы не появился, но если бы я установил другой звук, он бы появился.Для меня это все еще означает, что он видит все, что я делаю, но я не обращаюсь к звуку должным образом, поэтому он не знает, что там делать.
РЕДАКТИРОВАТЬ :: Это основные моментыошибки, которые я получаю, когда пытаюсь использовать ту же настройку, которая опубликована в других примерах мелодий настроек.
Это когда я впервые пытаюсь установить его в качестве мелодии звонка:
02-01 11:51:20.709: ERROR/MediaPlayerService(1157): Couldn't open fd for content://settings/system/ringtone
02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:20.709: ERROR/RingtoneManager(13807): Failed to open ringtone content://settings/system/ringtone
02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:20.716: WARN/Ringtone(13807): Couldn't set the stream type
02-01 11:51:20.716: WARN/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000
И это если я захожу в настройки громкости и меняю громкость звонка:
02-01 11:51:23.568: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:23.568: ERROR/Ringtone(13807): play() caught
02-01 11:51:23.568: ERROR/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000