Боюсь, у меня есть какое-то фундаментальное непонимание того, как работает URI здесь. Я пытаюсь сохранить этот сигнал тревоги в моем файле SharedPreferences, а затем восстановить его таким же образом.Загрузить рингтон в медиаплеер из общих префиксов
Я считаю, что проблема заключается в том, как я разбор Uri, я не особо осведомлен о том, как URI будет извлекаться
Я пытался хранить следующее в мои sharedpreferences.
//the displayed name of the ringtone
RingtoneManager.getRingtone(this, uri).getTitle(this)
и
data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)
Строка каждого восстанавливает правильно, но я не знаю фактического ключа мне нужно разобрать, чтобы получить сигнал тревоги, что я ищу.
Попадая предпочтения следующим образом
/** Restore alarm tone and update UI */
if (mSettings.contains(ALARM_TONE)){
alarmTone = mSettings.getString(ALARM_TONE, null);
if (alarmTone != null) {
uri = Uri.parse(alarmTone);
TextView t = (TextView) findViewById(R.id.alarmTone);
t.setText(RingtoneManager.getRingtone(this, uri).getTitle(this));
mp = MediaPlayer.create(getApplicationContext(), uri);
}
}