Уведомление об обновлении местоположения ячейки при выключенном экране - PullRequest
0 голосов
/ 18 января 2012

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

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

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

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

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

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 18 января 2012

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

...