2009-03-08 8 views

Répondre

47

En fonction de vos besoins, il existe plusieurs alternatives pour faire apparaître l'écran des paramètres 'Sonneries' depuis votre application. Si vous souhaitez afficher l'écran des préférences actuellement disponible via les paramètres système, vous pouvez modifier les paramètres de sonnerie universelle du téléphone via votre application. Vous pouvez utiliser la constante ACTION_SOUND_SETTINGS de la classe android.provider.Settings pour créer un new Intention de démarrer l'activité des paramètres sonores.

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0); 

Si vous souhaitez sélectionner une sonnerie personnalisée à utiliser dans votre application, vous devez ajouter un RingtonePreference dans votre fichier de définition preferences.xml, comme ceci:

<RingtonePreference 
    android:key="alerts_ringtone" 
    android:title="Select ringtone" 
    android:showDefault="true" 
    android:showSilent="true" 
    android:ringtoneType="" 
/> 

Vous serez en mesure d'obtenir la URI à la préférence sélectionnée dans la valeur par défaut de l'application SharedPreferences en utilisant alerts_ringtone comme clé.

Cette dernière technique utilise la classe PreferenceActivity pour héberger les options de préférence. Je ne vais pas décrire cela en détail ici, car la documentation Android a un good writeup et quelques exemples de code.

+0

Merci. Je veux ouvrir l'écran Préférences. Ainsi, l'exécution de l'instruction Intent permettra à l'utilisateur de définir une sonnerie ou dès que l'utilisateur sélectionne une sonnerie, il reviendra à l'application et l'application devra le définir? – lostInTransit

+1

L'exécution de l'instruction Intent permettra à l'utilisateur de définir la sonnerie - votre application n'aura rien à faire pour la gérer séparément. –

+1

Notez que dans la deuxième réponse, il y a une erreur dans le premier fragment de code, un crochet de fermeture est nécessaire juste après le premier paramètre dans le constructeur Intent. Serait juste éditer, mais doit être plus de 6 caractères :) – Brizee

6

Ceci est une solution alternative au problème. Je travaille également dans la même tâche mais le code ci-dessus ne fonctionne pas pour moi. J'ai changé le code en

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0); 

et cela fonctionne maintenant.

+0

Cela ne fonctionne pas pour Nougat, s'il vous plaît aider. application qui ne s'ouvre pas – developer

Questions connexes