我想创建一个联系提供商,这样我就可以从我们的数据库填充它,让我们的业务人员拥有所有客户数据。那是“容易”的部分。
但我需要的是隔离这些联系人并避免被克隆,禁止人们复制/克隆这些联系人并放弃对这些信息的跟踪。
有办法吗?我还没有办法做到这一点,我认为唯一的方法是在自定义联系人应用程序中显示联系人。该解决方案的问题在于无法知道谁在呼叫。
答案 0 :(得分:1)
有办法吗?
在Android设备上,大致零行代码可以了解您创建的自定义ContentProvider
的任何内容。如果您不想共享该提供商提供的数据,请不要提供任何用户界面以允许其他人共享该提供商的数据,也不要将提供商导出到第三方应用。
我还没有办法做到这一点,我认为唯一的方法是在自定义联系人应用中显示联系人
无论如何你需要写出来。有大约20亿台Android设备。他们中没有一个会有一个联系人风格的应用程序,它知道你创建的一些自定义ContentProvider
。
该解决方案的问题在于,无法知道谁在打电话。
正确。毕竟,设备'电话管理员对您的自定义ContentProvider
一无所知。
现在,可能是通过"创建联系提供商",您的意思是" 不创建联系提供商"。在这种情况下,"它"在"我可以从我们的数据库填充它,让我们的业务人员拥有所有客户数据"可能意味着标准的Android ContactsContract
ContentProvider
。在这种情况下,“通讯录”应用和通话中屏幕以及与联系人配合使用的所有其他内容都适用于您的联系人。但是,这是系统提供的ContentProvider
,导出到第三方应用程序,包含文档等。有数以千计的应用程序,可以通过Play商店和其他地方预先安装和提供,可以与ContactsContract
一起使用。你没有办法阻止它,你无法阻止这些应用程序使用这些数据做任何他们想做的事情。
IOW,你无法满足"我希望联系人应用程序拥有我的联系人"和"我不希望联系人应用程序拥有我的联系人"在同一时间。