В Android у меня возникла проблема при попытке выяснить, какая мелодия звонка действительно воспроизводится (я не пытаюсь определить мелодию звонка по умолчанию, но она воспроизводится, поскольку она может отличаться из-за настройки пользователем определенной мелодии звонка для конкретного контакта).
Я использую функцию Ringtone.isPlaying (), когда я (успешно) перебираю все доступные мелодии из RingtoneManager. Однако ни один из них никогда не возвращает true для Ringtone.isPlaying ()! Кто-нибудь знает, что я делаю не так? Вот пример кода, который определенно запускается во время игры на ринге:
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
}