Question

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="Notifications">
    <CheckBoxPreference 
            android:key="vibration"
            android:title="Vibrate" 
            android:summary="Vibrate phone for notifications" />
    <CheckBoxPreference 
            android:key="play_tone"
            android:title="Play Ringtone" 
            android:summary="Play Ringtone for notifications" />
    <RingtonePreference
            android:key="app_ringtone"
            android:dependency="play_tone"
            android:title="Select Ringtone"
            android:ringtoneType="notification"
            android:showDefault="true"
            android:shouldDisableView="true"
            android:summary="Pick a Ringtone" />
    </PreferenceCategory>
</PreferenceScreen>

Ceci est mon xml préférence. Mais,

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getString("app_ringtone", null);

retourne toujours null. Je suis mise au point sur un appareil (HTC Wildfire).

Était-ce utile?

La solution

Voici un exemple de projet démontrant les préférences collecte, y compris des sonneries. Si cela ne fonctionne pas sur votre appareil, il peut y avoir un problème de compatibilité avec le périphérique.

Autres conseils

Dans mon problème de cas est que j'overrided onActivityResult dans PreferenceActivity et ne m'a pas fait super.onActivityResult (...). Maintenant, il fonctionne très bien:

public synchronized void onActivityResult(final int requestCode,
    int resultCode, final Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
}

XML Problématiques:

<activity android:name="Activity1" 
    android:label="Activity 1"/>
<activity android:name="Activity2" 
    android:label="Activity 2" />
<activity android:name="Settings"  
    android:label="Settings" />

Je changé android: name = "Activité1" android: name = ». Activité1" POUR LES ACTIVITÉS TOUS et le code a commencé à travailler. Le code a également des dysfonctionnements si le android: showSilent = "false" attribut est inclus dans le RingtonePreference peut être est-ce un bug. Je me suis dit cela après beaucoup d'essais et d'erreurs. Toutes les idées, pls éclairent @Commonsware.

XML de travail:

<activity android:name=".Activity1" 
    android:label="Activity 1"/>
<activity android:name=".Activity2" 
    android:label="Activity 2" />
<activity android:name=".Settings"  
    android:label="Settings" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top