我正在编写需要不断接收或检查手机位置更新的软件。我遇到的问题是,当屏幕关闭时: a)通知停止(使用PhonestateListener);b)当使用计时器检查当前小区的小区信息时,返回旧的小区信息。
我花了很多时间寻找原因,找到了几篇关于这个主题的帖子。然而,我从来没有找到一个解决问题的答案或解决办法,接受让手机不断打开屏幕以获得新的蜂窝位置。
我已经检查了android RIL的源代码,似乎只要屏幕关闭,RIL中的广播接收器就会将屏幕状态设置为关闭,并停止来自调制解调器的URC消息。我决定尝试调用这些内部函数,比如说,重置屏幕状态(糟糕的解决方案!),但由于我的操作导致创建了系统意图(我甚至尝试通过获取su权限),我不断收到权限错误。
最后,我尝试直接与调制解调器通信以发送+CSQ命令(使用RIL中的'invokeOemRilRequestStrings‘函数)。然而,该部分失败了,因为我不断收到关于对象类型与预期的类类型不同的错误...
所以..。我想知道是否有人可以给我一个解决方案来完成这件事。或者不修改ROM就不可能在android上做这件事?
提前感谢您的帮助。
发布于 2012-01-18 22:43:49
你有没有尝试在前台优先的单独Android服务中注册位置更新?
https://stackoverflow.com/questions/8911909
复制相似问题