Blackberry: PhoneListener не сохраняется - PullRequest
0 голосов
/ 26 марта 2012

Я использую Blackberry Curve 9300.

Я создал приложение, в котором я добавил PhoneListener, который делает что-то каждый раз, когда начинается исходящий вызов.Я добавил SystemListener и SystemListener2, чтобы слушатель добавлялся каждый раз при включении телефона powerUp (), reset () или fastReset ().И я позаботился о том, чтобы приложение запускалось и при запуске системы.Приложение работает нормально.

Теперь проблема в том, что, если я некоторое время оставляю телефон бездействующим (скажем, пару часов) и начинаю использовать снова, PhoneListener перестает работать.Он больше не обнаруживает исходящий вызов.

Кажется, что PhoneListener удаляется, если телефон некоторое время не используется.Что именно происходит в течение этого времени, что удаляет PhoneListener и как с этим справиться?

Заранее благодарим за любую помощь.

1 Ответ

2 голосов
/ 27 марта 2012

Это немного странная ситуация. Что бы я сделал в этом случае:

  1. Реализация метода в PhoneListener, скажем, public void nudge(). Этот метод регистрирует текущее состояние объекта вместе с текущим временем. Вся информация журнала должна быть записана в экземпляр EventLogger и / или текстовый файл в файловой системе устройства.

  2. Реализация TimerTask, которая контролирует целостность объекта PhoneListener. Он просто проверяет наличие объекта (! = Null и вызывает метод nudge()). Обратите внимание, что если вы установите короткий период повторения, то вход в текстовый файл на медиа-карте предпочтительнее. Запись огромного количества данных в EventLogger, который использует внутреннюю память устройства, может привести к зависанию вашего устройства или даже к кирпичу.

  3. Проверка файла журнала.

Это может дать вам подсказку, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...