首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Locationlistener之谜

Locationlistener之谜
EN

Stack Overflow用户
提问于 2013-01-18 08:40:23
回答 1查看 76关注 0票数 0

我有一个服务(它扩展了Service)。在onCreate事件中,我执行以下操作...

代码语言:javascript
复制
    locMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    locLstnr = new MyLocationListener();
    locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 10, locLstnr);  

(顺便说一句,我设置了10秒的时间间隔,它至少每秒钟响一次)

我的所有信息都表明,如果您有一个扩展了服务的服务,那么无论该活动启动该服务多少次,它都不会再启动另一个服务,也不会再次经历onCreate事件(尽管它确实再次经历了onStartCommand )。

我从我的日志中得到了强有力的证据,证明我得到了多个MyLocationListener实例。有时2份,有时4份,有时8份。如果不是这样,我会得到我的服务的多个副本。

有没有人知道这可能是什么原因?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-01-18 10:45:17

它不会再次通过onCreate,除非它杀死原来的服务。由于未知的原因,它经常这样做。然后它会重新创建它。解决这个问题的最便宜的方法是让你的onCreate函数启动你自己的服务,所以它仍然是常驻的。不过,您仍然会丢失内存的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14390721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档