WhatsApp 如何知道我的联系人的国家代码? [关闭]

Posted

技术标签:

【中文标题】WhatsApp 如何知道我的联系人的国家代码? [关闭]【英文标题】:How does WhatsApp know the country code of my contacts? [closed] 【发布时间】:2012-10-14 16:48:41 【问题描述】:

我在美国,电话号码如下所示:

无国家代码:123-456-7890

国家代码:+1 123-456-7890

现在,根据***,意大利的电话号码具有以下格式:

347 xxxxxxx(来自意大利境内)

所以这可能看起来像一个美国号码:347-123-4567

当我在 WhatsApp 上打开我的所有联系人时,它会自动添加国家代码,所以如果我有一部美国电话 123-456-7890,它会添加一个 +1。但它怎么知道这是美国号码呢?它可能是任何东西。

我猜它使用我当前的语言环境或时区来确定我在哪里,以及任何没有国家代码的电话号码,只需添加当前用户的国家代码即可。但是我更改了 iPhone 的区域设置,它仍然能够猜出该号码属于哪个国家/地区。

知道这怎么可能吗?

更新:另外,我刚刚尝试在我的手机处于飞行模式时添加一个新的电话号码,而我的地区设置设置为意大利语,而我的时区设置为意大利罗马,但它仍然知道我放了一个美国号码,所以它不可能连接到服务器来获取此信息。

【问题讨论】:

我投票决定将此问题作为离题结束,因为它与编程无关,并且吸引了垃圾邮件。 这让我觉得是customer support for (your favorite company) 类型的问题(另外,这与编程无关)。恐怕我也必须投票关闭这里。 【参考方案1】:

没有明确国家/地区代码的电话号码被假定为您所在国家/地区的本地电话号码。您所在的国家/地区由区域格式设置(设置、常规、国际)确定。

因此,当您输入类似 (347) 123-4567 之类的号码时,这会被假定为美国电话号码,因为您在 Region Format 下选择了美国。所以 WhatsApp 可以假设 +1,因为号码中没有明确的国家代码。

假设您在意大利有一个朋友。意大利的国家代码是+39。因此,在“通讯录”中,您可以将他们的电话号码输入为 +39 347 1234567

意大利的用户只需输入该号码347 1234567。 WhatsApp 会将用户的区域格式视为意大利,并知道显示 +39。

【讨论】:

奇怪的是,如果我有联系电话:347-123-4567,WhatsApp 根本没有附加国家代码。它只是让它保持原样。但是,如果我有另一个联系人与此号码:347-752-8832,那么它确实会添加 +1。我不明白。这两个数字有什么区别?它知道第一个是假的吗? 我想 WhatsApp 可能有一个包含每个区号的有效美国前缀的数据库。您必须联系 WhatsApp 的开发人员才能确定。我的回答是基于 ios 下电话号码的一般知识。我对 WhatsApp 的真正运作方式一无所知。【参考方案2】:

WhatsApp 知道您所在的国家/地区代码,因为您已通过 WhatsApp 验证了自己的电话号码。没有明确国际格式的电话号码,即不以“+”或“00”开头的电话号码,将根据您自己的已验证国家/地区代码进行检查。这就是 WhatsApp 知道在您的情况下使用国家代码 1 的方式。

【讨论】:

没想到,用你的国家代码来核对。干得好

以上是关于WhatsApp 如何知道我的联系人的国家代码? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何分享网络连接给whatsapp

通过 WhatsApp 按意图发送消息

如何从我的 Android 应用程序通过 WhatsApp 向特定联系人发送消息?

以编程方式将文本发送到特定联系人(whatsapp)

如何从我的 Android 应用程序将短信转发给选定的联系人到 whatsapp?

Whatsapp 联系人复制我的联系人列表