0

我正在编写需要不断接收或检查小区位置更新的软件。我遇到的问题是当屏幕关闭时:a)通知停止(使用PhonestateListener);b) 当使用定时器检查当前小区的小区信息时,返回旧小区信息。

我花了很多时间寻找原因,并找到了一些关于这个主题的帖子。但是我从来没有找到问题的答案或解决方法,接受让手机不断打开屏幕以获得新的手机位置。

我检查了 android RIL 源代码,似乎只要屏幕关闭,RIL 中的广播接收器就会将屏幕状态设置为关闭并停止来自调制解调器的 URC 消息。我决定尝试调用这些内部函数来重置屏幕状态(糟糕的解决方案!),但由于我的操作创建了系统意图,我不断收到权限错误(我什至尝试通过获得 su 权限) .

最后,我尝试直接与调制解调器通信以发送 +CSQ 命令(使用 RIL 中的“invokeOemRilRequestStrings”函数)。但是,该部分失败了,因为我不断收到有关对象类型与预期类类型不同的错误...

所以......我想知道是否有人可以指出我完成这件事的解决方案。还是在不修改ROM​​的情况下在android上做不可能的事情?

在此先感谢您的帮助。

4

1 回答 1

0

您是否尝试在具有 FOREGROUND 优先级的单独 Android 服务中注册位置更新?

于 2012-01-18T14:43:48.747 回答