Я пишу программное обеспечение, которое требует, чтобы обновления местоположения ячеек принимались или проверялись постоянно. Проблема, с которой я сталкиваюсь, заключается в том, что когда экран выключен: a) остановка уведомлений (с использованием PhonestateListener); б) когда таймер используется для проверки информации ячейки текущей ячейки, возвращается информация о старой ячейке.Уведомление об изменении местоположения ячейки при выключенном экране
Я потратил много времени на поиск причины этого и нашел пару сообщений по этому вопросу. Однако я никогда не находил ответа или обходного пути к проблеме, соглашаюсь, чтобы телефон постоянно включал экран, чтобы получить новое местоположение ячейки.
Я проверил исходный код RIL для Android и кажется, что как только экран выключен, широковещательный приемник в RIL отключает состояние экрана и останавливает сообщения URC от модема. Я решил попробовать эти внутренние функции, скажем, сбросить состояние экрана (плохое решение!), Но я продолжал получать ошибки разрешений из-за создания систем в результате моих действий (я даже пытался получить разрешение su) ,
Наконец, я попытался напрямую связаться с модемом, чтобы отправить команду + CSQ (используя функцию invokeOemRilRequestStrings в RIL). Однако эта часть не удалась, так как я продолжал получать ошибки в отношении типа объекта, не являющегося тем же, что и ожидаемый тип класса ...
Итак ... Я хотел бы знать, может ли кто-нибудь указать мне на решение, чтобы сделать это. Или это невозможно сделать на андроиде, не изменяя ПЗУ?
Заранее за вашу помощь.
Да, это бесполезно. :( – black