Android wykrywa aktualnie odtwarzany dzwonek (Ringtone.isPlaying problem)
Na Androidzie mam problem z ustaleniem, który dzwonek jest aktualnie odtwarzany (nie próbuję wykryć domyślnego dzwonka, ale ten, który rzeczywiście gra, ponieważ może być inny z powodu ustawienia przez użytkownika określonego dzwonka dla konkretnego kontakt).
Używam funkcji Ringtone.isPlaying (), gdy przechodzę przez (pomyślnie) wszystkie dostępne dzwonki z RingtoneManager. Jednak żaden z nich nigdy nie zwraca prawdy do Ringtone.isPlaying ()! Czy ktoś ma pojęcie, co robię źle? Oto przykładowy kod, który jest zdecydowanie uruchamiany podczas gry w ringu:
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
}