首页 > 解决方案 > 以符合 Google 隐私政策的方式在 android 应用程序中显示最后一次通话

问题描述

我有一个应用程序,可以显示设备内用户的联系人并允许他拨打电话。我想向我的用户显示他最近拨打的电话。我一直在使用READ_CALL_LOG权限(并且正在阅读通话记录),直到谷歌限制了对它的访问,然后我切换到ContactsProvider检索联系人并对它们进行排序,LAST_TIME_CONTACTED但现在谷歌表示该列已被弃用,实际上它对于新版本的 Android OS 将具有 0 值(见https://developer.android.com/guide/topics/providers/contacts-provider#ObsoleteData

我的应用程序不是默认拨号程序(仅允许默认拨号程序应用程序访问通话记录),所以我想知道如何以符合 Google 政策的方式实现我想要的。

我坚持将最后选择的联系人存储在我自己的数据库中(我知道它不会是完整的通话记录,因为我只能访问从我的应用程序拨打的电话,但这对我来说很好),但不知道是否它符合 G 政策。我给谷歌写了一封电子邮件,但是回复的人说他无法帮助我解决我的问题,我必须创建我的应用程序的新版本并要求他们审查。

有谁知道我在自己的数据库中保存联系人的想法是否符合 G 政策(请提供来自官方网站的链接)。从我的链接(我在上面提供的)我只能看到谷歌说

如果您的应用正在访问或更新这些字段或 API,请使用替代方法。例如,您可以通过使用私有内容提供商或存储在您的应用程序或后端系统中的其他数据来满足某些用例。

然而,这并不能说服我我的想法是否合规

感谢帮助!

标签: androidandroid-contactspolicycalllog

解决方案


我相信您可以存储和使用您的应用程序中发生的任何用户操作。该政策的目的(如此处所述:https ://support.google.com/googleplay/android-developer/answer/9047303?hl=en )是为了防止应用程序访问通话记录以使将其用于用户期望之外的目的,这就是为什么强调critical core functionality应用程序的原因。

根据我的经验,不同的谷歌评论者对同一个应用程序的评论往往非常不同,虽然一个人可能会根据这个政策拒绝某个用例,但另一个人可能会批准它。

我建议以一种有助于审阅者理解这些数据不是从呼叫日志中获取的,而是从一些特定于应用程序的操作中获取的方式来表述您要创建的屏幕,例如,而不是标题“呼叫日志”,这可能会使一些人感到困惑有拒绝此更新风险的评论者,您应该将其命名为“最近的应用操作”或类似的名称。


推荐阅读