2012-01-18 59 views
0

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

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

我检查了Android RIL源代码,看起来屏幕关闭后,RIL中的广播接收器将屏幕状态设置为关闭并停止来自调制解调器的URC消息。我决定尝试调用这些内部函数来重置屏幕状态(坏的解决方案!),但由于系统意图是由于我的操作而创建的,我一直在获取权限错误(我甚至通过获得su权限来尝试) 。

最后,我试图直接与调制解调器通信以发送+ CSQ命令(在RIL中使用'invokeOemRilRequestStrings'函数)。然而,那部分失败,因为我不断得到关于对象类型错误与预期的类类型不一样...

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

在此先感谢您的帮助。

回答

0

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

+0

是的,这是没用的。 :( – black 2012-01-18 16:29:37