2012-01-18 2 views
0

Я пишу программное обеспечение, которое требует, чтобы обновления местоположения ячеек принимались или проверялись постоянно. Проблема, с которой я сталкиваюсь, заключается в том, что когда экран выключен: a) остановка уведомлений (с использованием PhonestateListener); б) когда таймер используется для проверки информации ячейки текущей ячейки, возвращается информация о старой ячейке.Уведомление об изменении местоположения ячейки при выключенном экране

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

Я проверил исходный код RIL для Android и кажется, что как только экран выключен, широковещательный приемник в RIL отключает состояние экрана и останавливает сообщения URC от модема. Я решил попробовать эти внутренние функции, скажем, сбросить состояние экрана (плохое решение!), Но я продолжал получать ошибки разрешений из-за создания систем в результате моих действий (я даже пытался получить разрешение su) ,

Наконец, я попытался напрямую связаться с модемом, чтобы отправить команду + CSQ (используя функцию invokeOemRilRequestStrings в RIL). Однако эта часть не удалась, так как я продолжал получать ошибки в отношении типа объекта, не являющегося тем же, что и ожидаемый тип класса ...

Итак ... Я хотел бы знать, может ли кто-нибудь указать мне на решение, чтобы сделать это. Или это невозможно сделать на андроиде, не изменяя ПЗУ?

Заранее за вашу помощь.

ответ

0

Вы пробовали зарегистрироваться для обновления местоположения в отдельной службе Android с приоритетом FOREGROUND?

+0

Да, это бесполезно. :( – black

Смежные вопросы