【问题标题】:android - get those contacts who have the same custom accountandroid - 获取那些拥有相同自定义帐户的联系人
【发布时间】:2015-01-28 07:43:13
【问题描述】:

我的应用程序中的每个用户首​​先需要注册/登录,然后使用 AccountManager 和 AccountAuthenticator 向服务器进行身份验证。在成功验证时,会在设备上创建类型为 tld.mypackage.name.account 的帐户。

我现在想要做的是从我的通讯录中获取这些联系人的列表,这些联系人与他们的手机号码相关联的帐户类型相同,例如就像在 WhatsApp 中所做的那样 - 我想要为我的应用注册的所有联系人的子集。

这样做的正确方法是什么? Google 是否在 AccountManager 或某事中列出了所有 android 用户及其帐户类型的列表。类似的我可以使用同步吗?或者我是否必须与我的服务器实现自己的同步,例如将我的所有联系人的电话号码发送到我的服务器并返回服务器知道的联系人列表?

【问题讨论】:

  • 抱歉,但是:我必须实现与我的服务器的同步是一个很好的答案
  • 使用 Android SyncAdapter:developer.android.com/training/sync-adapters/… ?它有什么作用?
  • 这是一个很好的例子,如何存储您的帐户类型联系人并将它们与服务器同步......但是为了检查/匹配,您需要构建另一个 web 服务,它将采用 fx [ {"id": "contactId1", "phone": "number1"}, {"id": "contactId2", "phone": "number2"}, ... ] json 并返回 @ 987654323@ ...然后在android上处理它
  • 谢谢。我已经有一个用 Node.js 编写的 restful webservice,扩展它来做用户匹配不会太费力。但是有什么更好的方法:编写自己的 SyncAdapter 或者只是从我的应用程序中做一个小请求,例如每次开始?或者换句话说,阅读 SyncAdapters 的主题有什么好处?

标签: android


【解决方案1】:

我找到了我的问题的答案。 这个人有一篇关于如何使用 SyncAdapter 及其好处的非常好的博文:https://udinic.wordpress.com/2013/07/24/write-your-own-android-sync-adapter/

  • 电池效率 – 系统安排同步运行,当其他 同步运行,或者当其他网络请求已经在 设备。这可以防止将设备从睡眠状态唤醒 执行一次同步。
  • 接口 – 设备上的所有同步适配器都可以从 设置屏幕,在他们绑定的帐户下。这给出了 最终用户更改同步首选项的选项,看看是否有 同步问题,甚至禁用同步。
  • 内容感知 – 如果我们使用 ContentProvider 访问/操作我们的数据,同步适配器可以观察任何 对其进行的更改。这样它只能在数据实际运行时运行 变化。
  • 重试机制 – 同步管理器有其实现重试 同步失败,使用超时和指数回退。所有那些 尽快节省电池并同步您的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 2017-02-07
    • 1970-01-01
    • 2018-01-25
    • 2018-03-01
    • 2017-09-02
    相关资源
    最近更新 更多