首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >您应该在每次活动中连接和断开与Google服务的连接吗?

您应该在每次活动中连接和断开与Google服务的连接吗?
EN

Stack Overflow用户
提问于 2014-06-16 01:01:51
回答 1查看 2K关注 0票数 4

我正在编写一个应用程序,在所有活动中都需要一个连接的位置客户端。如何管理客户端的状态?

为了避免麻烦,我只想调用mLocationClient.connect()一次,并且应该能够在应用程序停止时删除位置更新/断开连接。

假设我已在启动屏幕Activity中连接到该位置客户端,如何保持该位置客户端跨所有活动连接?

这里出现的另一个问题是,当我恢复暂停的应用程序(不是娱乐)时,应用程序不会从启动屏幕开始。在这种情况下,我如何维护连接?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 01:16:42

您需要的是一个绑定服务:这些服务只在客户端(比如您的一个活动)连接到它时才能使用。这允许您拥有共享状态(单个连接的位置客户端),同时仍然确保适当地连接/断开连接。

在这种情况下,任何位置感知活动都会绑定到服务。当第一个活动(例如,启动屏幕活动)绑定到该服务时,该服务将启动并连接到Google服务。然后,您的服务的Binder将提供对任何连接活动的LocationClient的访问权。当您在活动之间移动时,每个活动将依次绑定到服务,并能够获取当前位置数据,而每个位置数据将被销毁。

当用户退出应用程序(即,最后一个活动被销毁)时,服务将自动停止,允许您断开与Google服务的连接。

只要您从每个需要位置数据的活动绑定到服务,那么哪个活动最初启动服务并不重要:如果需要的话,服务只会连接。

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

https://stackoverflow.com/questions/24235474

复制
相关文章

相似问题

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