Wie kann ich die benutzerdefinierten Klingeltöne meiner App im Ordner res / raw zu einer Klingeltonreferenz hinzufügen?
Ich habe diese RingtonePreference (aus den Standardeinstellungen von Android Studio):
pref_notification.xml:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<RingtonePreference
android:dependency="notifications_alarm"
android:key="notifications_alarm_ringtone"
android:title="@string/pref_title_ringtone"
android:ringtoneType="notification|all"
android:defaultValue="content://settings/system/notification_sound" />
SettingsActivity.java:
private void setupSimplePreferencesScreen() {
if (!isSimplePreferences(this)) {
return;
}
// Add 'general' preferences.
addPreferencesFromResource(R.xml.pref_general);
// Add 'notifications' preferences, and a corresponding header.
PreferenceCategory fakeHeader = new PreferenceCategory(this);
fakeHeader.setTitle(R.string.pref_header_notifications);
getPreferenceScreen().addPreference(fakeHeader);
addPreferencesFromResource(R.xml.pref_notification);
bindPreferenceSummaryToValue(findPreference("notifications_alarm_ringtone"));
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public static class NotificationPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_notification);
bindPreferenceSummaryToValue(findPreference("notifications_alarm_ringtone"));
}
}
Ich möchte die benutzerdefinierten Klingeltöne meiner App aus dem Ordner res / raw zur Liste hinzufügen. (Ich brauche sie nicht, um für andere Apps verfügbar zu sein.)