【发布时间】:2016-01-09 14:39:41
【问题描述】:
我有一个小应用程序可以获取位置,然后将其显示在地图上。
在onCreate() 中,我启动了LocationService 和地图。然后我想调用我的setLocation() 方法来确定我的位置并将其显示在地图上。
如果我从onCreate() 调用setLocation() 方法,它将不起作用,并且会显示吐司。如果我从onResume() 打电话给setLocation(),它就可以工作。这可能是什么原因?
来源:Github
感谢您的帮助。如果您需要其余代码的某个部分,请告诉我。
【问题讨论】:
-
我们不知道
mapActivity是什么,我们不知道GPSService是什么,我们不知道GPSService上的getPos()是什么,等等。 -
添加了整个源代码
-
您是否尝试过在带有断点的服务调用中使用调试器来查看为什么返回的位置为空?
-
另外,您似乎拥有 GPS 服务的方式非常无用,因为您直接从 Activity 使用同步方法调用访问它
-
似乎 OnMapReady() 在 setLocation 之后被调用,因此 mapActivity 为空,虽然我先创建了 mapFragment,但可能是什么原因?
标签: java android oncreate onresume