Android TimerTask не вызывается всегда (в основном не вызывается, когда телефон не отлаживается) - PullRequest
1 голос
/ 10 марта 2012

У меня проблемы с определением проблемы на Android TimerTask (я считаю), которая сводит меня с ума,

Сценарий: Я использую PhoneStateListener для запуска таймера после того, как я делаюзвонок и после определенного времени звонка воспроизводит звук.

Все работает идеально, но как только я не в режиме отладки (или просто с подключенным к компьютеру телефоном), Звук не всегда звучит,в большинстве случаев это не звучит, кстати.

Моя самая большая проблема заключается в том, что я не могу четко определить проблему, потому что это происходит только тогда, когда телефон отключен и я не могу читать журналы.Я мог воспроизвести проблему только один раз (без звука после вызова) и прочитать журналы об этом, где я понял, что: вызывается onCallStateChanged, таймер в порядке, но TimerTask никогда не вызывался (или не планировался).

Итак, прочитав некоторые вопросы здесь, я использовал обработчик вместо таймера.Но у меня точно такие же проблемы.Фактически, с помощью обработчика эту проблему гораздо проще воспроизвести, просто подключив и отключив телефон (с помощью таймера было труднее воспроизвести проблему отсутствия звука).

Я делаю что-то неправильно или яНужно реализовать что-то еще?

Любой комментарий будет оценен, Заранее спасибо

Редактировать

Видимо, с обработчиком это происходит потому, что телефонложится спать, как только начинается звонок.Однако использование wake_lock не помогает предотвратить это, есть ли другие альтернативы для запуска потока, когда телефон находится в спящем режиме?

1 Ответ

0 голосов
/ 10 марта 2012

Ну проблема с этим, как я уже сказал, была в том, что телефон останавливал таймер при переходе в спящий режим во время разговора.Я прекратил использование AlarmManager.

Важно отметить, что AlarmReceiver должен быть общедоступным классом, иначе метод приема никогда не будет вызываться.

Однако я до сих пор не могу понять, почемуТаймер работал иногда, а иногда нет.

С уважением

...