【问题标题】:What's the alternative of "ContactsContract.Contacts.LAST_TIME_CONTACTED"?“ContactsContract.Contacts.LAST_TIME_CONTACTED”的替代方案是什么?
【发布时间】:2021-11-13 07:50:51
【问题描述】:

我应该用什么来代替ContactsContract.Contacts.LAST_TIME_CONTACTED?根据documentation,不推荐使用 LAST_TIME_CONTACTED 变量。甚至是在 ContactsContract.class 中写的

/** @deprecated */
@Deprecated
String LAST_TIME_CONTACTED = "last_time_contacted";

既然它已被弃用,那么必须有另一种选择。但为什么别无选择?或者为什么文档没有链接任何替代方案?

此常量在 API 级别 29 中已弃用。
自 Android 版本 Build.VERSION_CODES.Q 起,不再支持联系人关联信息。此列始终包含 0。

在Android Q或更高版本中,也没有替代变量吗?

【问题讨论】:

  • Android 没有关于此的更新。

标签: java android contacts android-contacts


【解决方案1】:

别无选择 - 这是故意的。

Google 不再希望拥有通讯录权限的开发者能够访问与用户与其联系人之间的通信相关的数据。

如果您的应用有资格获得 CALL_LOG 或 SMS 权限,您可以根据通话记录/消息历史记录找出上次联系的时间戳。 但这些权限在 Google Play 中是不允许的,除非您的应用属于非常特定的用例 documented here

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2018-04-16
    相关资源
    最近更新 更多