Dans mon application, j'ai besoin que l'utilisateur sélectionne une sonnerie comme son d'application. J'utilise RingtoneManager.ACTION_RINGTONE_PICKER
pour obtenir la sonnerie sélectionnée. Il renvoie Uri
de la sonnerie, et je peux transformer cela en une sonnerie et tout fonctionne très bien. Mais voici la partie difficile:Comment une sonnerie peut-elle être enregistrée en tant que chaîne?
Toutes mes données d'application sont conservées dans un fichier XML, j'ai donc besoin d'un moyen de sauvegarder la sonnerie comme String
. Je pensais juste obtenir le chemin de la sonnerie en utilisant Uri.getPath()
et en enregistrant le chemin dans mon application. Mais je ne peux pas trouver un moyen de convertir le chemin en une sonnerie lorsque je dois l'utiliser. Voici le code que j'essayé de convertir un Uri à cordes et à l'arrière:
String ringtonePath = ringtoneUri.getPath();
ringtoneUri = Uri.parse(ringtonePath);
Ringtone ringtone = RingtoneManager.getRingtone(getActivity(), ringtoneUri);
Il ne fonctionne pas. sorties LogCat:
Failed to open ringtone /internal/audio/media/13
et sonnerie obtient null
Fonctionne comme le charme. Merci! –