WhatsApp如何知道我的联系人的国家/地区代码?

Sno*_*man 13 iphone timezone objective-c ios

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

没有国家代码:123-456-7890

国家/地区代码:+1 123-456-7890

现在,根据维基百科,意大利的电话号码有这种格式:

347 xxxxxxx(来自意大利境内)

所以这可能看起来像美国的数字:347-123-4567

当我打开WhatsApp上的所有联系人时,它会自动添加国家/地区代码,因此,如果我有美国手机123-456-7890,则会添加+1.但它怎么知道它是美国的号码呢?它可能是任何东西.

我猜测它使用我当前的区域设置或时区来确定我的位置,以及任何没有国家/地区代码的电话号码,只需添加当前用户的国家/地区代码即可.但是我在我的iPhone中更改了我的区域设置,它仍然能够猜出该号码所属的国家/地区.

知道怎么可能吗?

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

Mic*_*hue 13

WhatsApp知道您所在的国家/地区代码,因为您已使用WhatsApp验证了自己的电话号码.根据您自己的经过验证的国家/地区代码检查没有明确国际格式的电话号码,这意味着它们不以"+"或"00"开头.这就是WhatsApp如何知道在您的情况下使用国家代码1.


rma*_*ddy 5

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

因此,当您输入类似(347)123-4567的数字时,这被假定为美国电话号码,因为您已选择区域格式下的美国.所以WhatsApp可以假设+1,因为数字中没有明确的国家代码.

假设你在意大利有一个朋友.意大利的国家代码是+39.因此,在联系人中,您输入的号码为+39 347 1234567.

意大利的用户将输入该数字简称为347 1234567.WhatsApp会将用户的区域格式视为意大利,并知道显示+39.