Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何知道哪些联系人已经安装了该应用程序?_Java_Android_Android Contacts - Fatal编程技术网

Java Android:如何知道哪些联系人已经安装了该应用程序?

Java Android:如何知道哪些联系人已经安装了该应用程序?,java,android,android-contacts,Java,Android,Android Contacts,我在一个聊天应用程序上工作,看到了很多关于如何添加联系人或如何搜索联系人的教程和答案。但是,大多数聊天应用如何知道哪些联系人已经安装了该应用?有人能给我指一个教程或分享一段代码,告诉我如何实施一个活动,向你展示谁安装了这个应用程序吗 非常感谢 您需要保存一些内容来识别应用程序的单个用户。这些“东西”必须是独一无二的,并且可以从其他人的手机上获得。你的主要选择(如果不仅仅是)是电话号码或电子邮件地址,或者两者兼而有之 主要的缺点是人们并不总是在他们的电话号码列表上保留和更新电子邮件。当然,也就是说

我在一个聊天应用程序上工作,看到了很多关于如何添加联系人或如何搜索联系人的教程和答案。但是,大多数聊天应用如何知道哪些联系人已经安装了该应用?有人能给我指一个教程或分享一段代码,告诉我如何实施一个活动,向你展示谁安装了这个应用程序吗


非常感谢

您需要保存一些内容来识别应用程序的单个用户。这些“东西”必须是独一无二的,并且可以从其他人的手机上获得。你的主要选择(如果不仅仅是)是电话号码或电子邮件地址,或者两者兼而有之

主要的缺点是人们并不总是在他们的电话号码列表上保留和更新电子邮件。当然,也就是说,假设他们根本不储存它们。克服这一问题的一个方法是使用他们的电子邮件提供商提供的API(当然,假设他们有),在用户成功登录后,您可以使用这些API获取他们的联系人列表。这应该比依靠人们保存联系人名单上的每个电子邮件地址要准确得多

要“知道”他们何时有“朋友”使用该应用程序,您需要一个后端,能够接收该用户的联系人列表,并检查他们是否存在于您的数据库中

在你的评论中,你会问如果你有一个庞大的用户群,这是否是一项昂贵的任务。当然可以。但几乎没有别的办法。当然,有很多方法可以通过设计良好的数据库来优化流程。还可以控制执行此查找的频率


如果在任何时候,您发现自己在执行此操作时存在可伸缩性问题,那么这很可能是您遇到的最小问题。显然,庞大的用户群需要足够的基础设施来保持其运行。

你的意思是像whatsapp一样?将号码存储在数据库中,然后将用户的电话号码列表与之进行比较有什么不对?请记住,除非您向最终用户明确说明,否则不应这样做。如果您想将他们的号码存储在数据库中并进行比较,可以使用此链接获取帮助。是的,就像Whatsapp@Areks如果有很多用户,在数据库中搜索每个联系人电话号码不会是一项挑战性的任务,每次有人注册时都要这样做吗?我只是问。你怎么期望像WhatsApp这样的应用程序能做到这一点?当然,他们有一些后端处理几乎所有的事情。它有一个所有用户的数据库,处理正在发送的消息,存储关于哪些用户在线和哪些用户离线的信息等等。。。一切都在后端运行。应用程序只是一个访问它的客户端。@Areks:我面临同样的问题,但根据您的逻辑,我们必须在服务器端实现负载平衡。