Android erkennt, welcher Klingelton gerade abgespielt wird (Ringtone.isPlaying-Problem)

Unter Android habe ich ein Problem damit, herauszufinden, welcher Klingelton tatsächlich abgespielt wird (ich versuche nicht, den Standard-Klingelton zu erkennen, aber den, der tatsächlich abgespielt wird, da er möglicherweise unterschiedlich ist, weil der Benutzer einen bestimmten Klingelton für einen bestimmten Klingelton eingestellt hat Kontakt).

Ich verwende die Funktion Ringtone.isPlaying (), während ich (erfolgreich) alle verfügbaren Klingeltöne aus dem RingtoneManager durchlaufe. Keiner von ihnen kehrt jedoch jemals zu Ringtone.isPlaying () zurück! Hat jemand eine Ahnung, was ich falsch mache? Hier ist das Codebeispiel, das definitiv ausgeführt wird, während der Ring abgespielt wird:

RingtoneManager rm = new RingtoneManager(this); // 'this' is my activity (actually a Service in my case)
if (rm != null)
{
    Cursor cursor = rm.getCursor();
    cursor.moveToFirst();
     for (int i = 0; ; i++)
     {
            Ringtone ringtone = rm.getRingtone(i);  // get the ring tone at this position in the Cursor
            if (ringtone == null)
            break;
        else if (ringtone.isPlaying() == true)
                return (ringtone.getTitle(this));   // *should* return title of the playing ringtone
    }
    return "FAILED AGAIN!"; // always ends up here
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage