Ich fürchte, ich habe ein grundlegendes Missverständnis, wie URI hier funktioniert. Ich versuche, diesen Alarmton in meiner Datei SharedPreferences zu speichern und dann auf die gleiche Weise wiederherzustellen.Load Ringtone in Mediaplayer von SharedPreferences
Ich glaube, das Problem ist, wie ich die Uri bin Parsen, ich bin nicht besonders bewusst, wie URI
abgerufen würde ich habe versucht, die folgenden in meinem sharedpreferences speichern.
//the displayed name of the ringtone
RingtoneManager.getRingtone(this, uri).getTitle(this)
und
data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)
Die Kette von jeder wieder richtig, aber ich bin mir nicht bewusst der eigentliche Schlüssel ich analysieren müssen, um den Alarmton abzurufen, die ich suche.
Erste Einstellungen wie folgt
/** 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);
}
}