Je crée des notifications dans mon application Android et souhaite disposer d'une option dans mes préférences pour définir le son utilisé pour la notification. Je sais que dans l'application Paramètres, vous pouvez choisir un son de notification par défaut dans une liste. D'où vient cette liste et est-il possible pour moi d'afficher la même liste dans mon application?
Réponses
Trop de publicités?Il suffit de copier/coller du code à partir d'une de mes applications, qu'est-ce que vous cherchez.
C'est dans un gestionnaire onClick d'un bouton "set sonnerie" ou quelque chose de similaire:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
this.startActivityForResult(intent, 5);
Et ce code capte le choix fait par l'utilisateur:
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent)
{
if (resultCode == Activity.RESULT_OK && requestCode == 5)
{
Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null)
{
this.chosenRingtone = uri.toString();
}
else
{
this.chosenRingtone = null;
}
}
}
Aussi, je conseille à mes utilisateurs d'installer les "Rings Extended" application à partir de l'Android Market. Alors à chaque fois que cette boîte de dialogue est ouverte sur leur appareil, comme à partir de mon application ou du téléphone réglages du menu, l'utilisateur aura le choix supplémentaire de choisir un des fichiers mp3 stockés sur leur appareil, et pas seulement de la construction dans les sonneries.
Ou simplement coller ceci dans vos préférences XML:
<RingtonePreference android:showDefault="true"
android:key="Audio" android:title="Alarm Noise"
android:ringtoneType="notification">
</RingtonePreference>
Contenu complet de mon exemple XML uniquement pour le contexte:
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference android:title="Some value"
android:key="someval"
android:summary="Please provide some value"
></EditTextPreference>
<EditTextPreference android:title="Some other value"
android:key="someval2"
android:summary="Please provide some other value"
></EditTextPreference>
<RingtonePreference android:showDefault="true"
android:key="Audio" android:title="Alarm Noise"
android:ringtoneType="notification">
</RingtonePreference>
</PreferenceScreen>