【问题标题】:Differentiate between multiple Google APIs calling onConnected区分调用 onConnected 的多个 Google API
【发布时间】:2015-06-27 03:55:20
【问题描述】:

所以我有一个应用程序,它使用 google+ api 允许用户登录,以及 cast api 允许用户将内容投射到 chromecast。

但是,两个 API 使用相同的连接回调。

区分应该通知哪个 API 连接回调的最佳做法是什么?

例如,onConnected() 会在用户成功登录时调用。但它也会在与 chromecast 的连接建立时调用。如何区分这两种情况?

编辑:所以我从谷歌找到了这个信息:

请注意,connectionHint Bundle 的内容是由特定服务定义的。有关详细信息,请参阅您正在使用的 GoogleApiClient 的具体实现的文档。

但是,我找不到描述不同 API 的 connectionHint 内容的文档。

Edit2:我可以为每个 API 创建一个单独的 API 客户端吗?

【问题讨论】:

  • documentation 建议在 using Activity 的 onStart() 方法中连接客户端,在 onStop() 中断开连接。您的 google+ 处理和 chromecast 处理是否在不同的活动中?如果是这样,似乎要遵循连接生命周期管理的建议,您可能希望每个活动都有一个 GoogleApiClients,从而为每个活动生成单独的回调。换句话说,每个活动都有自己的 onConnected()。
  • 附带说明,我刚刚通过查看日志输出确认,当 GoogleApiClient 连接到 Google Drive 时,onConnected() 中返回的包为空;没有连接提示。像你一样,我搜索并无法在任何地方找到它们的记录。也许是为了未来的增强。

标签: android google-api google-api-client


【解决方案1】:

最简单的方法是使用多个客户端,每个 API 一个,然后将单独的回调附加到它们以便能够区分它们。

【讨论】:

  • 这是我决定使用的方法。
猜你喜欢
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 2013-10-08
  • 2013-12-14
  • 1970-01-01
  • 2016-03-01
  • 2014-05-26
  • 1970-01-01
相关资源
最近更新 更多