Android Klingeltonauswahl realisieren

L0g4n

Mitglied
Hey Leute,

ich möchte in meiner App eine Schaltfläche haben, mit der man dann alle verfügbaren Standard-Klingeltöne angezeigt bekommt und auswählen kann, realisieren.
Jedoch finde ich auf die Schnelle mithilfe der Suche per Google und auf developers.android.com nichts.

Kann mir einer helfen ?

LG
 

L0g4n

Mitglied
OK, danke ich konnte jetzt den Auswahldialog zeigen.
Jedoch weiß ich nicht, welche Schaltfläche sich dafür eignet (also welche Schaltfläche man drauf klicken muss, dass man zu diesem Dialog kommt, da ein normales Textview nicht gerade so gut aussieht).

LG
 

L0g4n

Mitglied
Ja, ein Button sieht auch nicht gerade so gut aus. Ich suche nach einer passenden Schaltfläche und Buttons eignen sich eher als Bestätigen, statt zur Auswahl von etwas.
 

dzim

Top Contributor
Da dadurch ein Dialog getriggert wird, finde ich einen Button sehr passend. Wenn dir die Default-Optik nicht zusagt, empfehle ich dir ein wenig Zeit in Themes und Styles zu stecken. Das lohnt sich in jedem Fall.
Konkret zu deinem Problem zurück: Du willst eine Interaktion. Das kannst du nur mit einem anklickbaren TextView oder einem Buttone, einer Liste o.ä. realisieren. Wenn dir das alles nicht zusagt: Es muss irgendwie die Möglichkeit geben, auch deine eigene UI für die Ringtones zu verwenden. Schau mal, was dir der RingtoneManager noch so alles zur Verfügung stellt.
Ansonsten bin ich einfach zu wenig Designer, um sagen zu können, was später gut oder nicht aussieht. Sorry.
 

L0g4n

Mitglied
Das ist ja genau das Problem. Ich will wie gesagt das ganze im Stile einer Liste oder den normalen Android-Settings haben.
Also, z.B. eine Liste wie hier https://developer.android.com/design/building-blocks/lists.html oder die Einstellungen hier https://developer.android.com/guide/topics/ui/settings.html.
Aber: Das mit der Liste, wie Sie so auf der Seite zu sehen ist verstehe ich nicht so ganz und würde ich auch eher für dynamische Inhalte, die ich dann später aus der SQLite Datenbank lade, benutzen. Zu den Settings, die auch wieder oben verlinkt sind, habe ich das böse Gefühl, dass diese eher für Globale Einstellungen zu verwenden sind, da diese dann auch per XML gespeichert werden, was ich ja nicht will sondern per Datenbank.
Jetzt weiß ich bei den Einstellungen nicht, ob ich das XML auch "umgehen" kann und stattdessen eine Datenbank verwenden kann.

LG
 

dzim

Top Contributor
Habe noch mal kurz in den RingtoneManager geschaut (bzw. die API-Doku): dieser hat die Methode #getCursor(). Das kannst du verwenden um einen SimpleCursorAdapter zu füttern (musst dich aber damit beschäftigen, was dir der Cursor eigentlich gibt, das weis ich nicht) und diesen Adapter wiederum kannst du natürlich problemlos einer Liste deiner Wahl übergeben.
Danach kannst du ein OnListItemClickListener oder so ähnlich implementieren und mit dem Ringtone anstellen, was du willst. Zum Beispiel Abspielen. Oder einen Dialog mit ein paar Infos öffnen.
Schau dir mal genauer an, was du aus dem Cursor heraus erhälst, dann kommst du sicher weiter. Ohne selbst etwas zu implementieren, kann ich dir jetzt leider nicht weiterhelfen - und die Zeit hab oder nehme ich mir gerade nicht, dass musst du schon selbst rausfinden ;-)
 

Neue Themen


Oben