2011-10-03 21 views
5

ho questo nel mio preferences.xmlPreferenza valore di suoneria predefinita

 <RingtonePreference android:key="ringtone_uri" 
      android:title="@string/preferences_select_ringtone" 
      android:showDefault="true" android:srinlent="true" 
      android:summary="@string/preferences_select_ringtone_summary" /> 

E ogni volta quando ho nuovo inizio l'installazione di un app, il valore predefinito nel silenzio :(, Quando si tocca sulla preferenza suoneria la finestra di dialogo si apre con silenziosa selezionato come impostazione predefinita. voglio da "suoneria predefinita" default da selezionare. come posso fare questo enter image description here

come posso impostare il valore predefinito di essere "suoneria predefinita" non in silenzio, ho non so perché è silenzioso come il mio default non lo faccio in nessun posto nel mio codice, il silenzioso è il default del sistema Android ...

risposta

5

Stavo cercando come impostare il valore predefinito per la suoneria e mi sono reso conto che quando la preferenza non è impostata, il valore è vuoto e il silenzio è selezionato come predefinito. Ma lo faccio

defaultstr = Uri.parse(PreferenceManager.getDefaultSharedPreferences(context).getString("r_uri", 
    android.provider.Settings.System.DEFAULT_RINGTONE_URI.toString())); 
//than I do this, I save the default ringtone to my setting 
if (defaultstr.equals(android.provider.Settings.System.DEFAULT_RINGTONE_URI)) { 
    PreferenceManager.getDefaultSharedPreferences(context).edit().putString("r_uri", 
     android.provider.Settings.System.DEFAULT_RINGTONE_URI.toString()).commit(); 
} 

Spero che questo possa aiutare qualcun altro. btw I freak out a trovare questa soluzione, e mi è stato starching mia testa per ore

1

Basta disattivare la voce "Silent":

<RingtonePreference android:key="ringtone_uri" 
      android:title="@string/preferences_select_ringtone" 
      android:showDefault="true" android:srinlent="true" 
      android:summary="@string/preferences_select_ringtone_summary" 
      android:showSilent="false"> 
+0

Potrebbe funzionare, ma solo fino a quando non si desidera offrire ai propri utenti la possibilità di selezionare una suoneria silenziosa. – nstCactus

6

Il modo più semplice per impostare il valore di default di suoneria

<RingtonePreference 
     android:showDefault="true" 
     android:showSilent="true" 
     android:defaultValue="content://settings/system/notification_sound" 
        ....... 
     > 
</RingtonePreference> 
di default
Problemi correlati