当前位置: 首页 > 知识库问答 >
问题:

检查正在拨打的电话是否为国际电话

毋承基
2023-03-14

我想检查正在打的电话是否是国际电话。我有使用TelephonyManager获得的SIM卡号码。getLine1Number()以及我使用TelephonyManager获取的SIM卡的国家/地区代码ISO。getSimCountryIso()。

我能找到打电话的号码的国家代码吗?

共有1个答案

澹台举
2023-03-14

我不认为电话管理员。getSimCountryIso()将帮助您确定“呼叫的国家”,因为它将返回您所在国家的ISO。

此外,ISD代码的长度因国家而异。有些国家是1,有些是2,有些是3,有些是4。因此,您需要从传出号码中提取/制作4个不同长度的键,如下所示:

假设输出号码是91-XXX-XXX-XXXX。然后将创建4个关键点,如下所示:

  1. 9(1位数字键)
  2. 91(两位数字键)
  3. 91X(三位钥匙)
  4. 91XX(4位键)

现在检查这4个键中是否有任何一个出现在这个列表中:国际标准化组织列表。

[编辑:替代解决方案]

同样,如果您只需要确定所拨打的电话是否为国际电话,则只需检查以下情况:

if(outgoing-number `startswith` "00" || outgoing-number does not `startswith` your "country's-ISD-code") {
    //it's an international call;
} else {
    //it's a domestic call;
}
 类似资料:
  • 拨打电话     拨打电话给 Skype 联系人。开始通话前,需先让支援PSP™版 Skype 的音频输入设备连接PSP™主机。 从联系人名单选择拨打对象 1. 进入 Skype 的选单画面后选择(联系人)。 2. 从联系人名单中选择电话的拨打对象。 可拨打电话给登入状态为(在线)等可通话状态的联系人。 开始呼叫后,会显示对方的名字或 Skype 账号。对方回复后即可开始通话。 提示 透过 Sky

  • 问题内容: 我正在尝试拨打的电话不是使用特定号码,而是使用在变量中被调用的号码,或者至少告诉它在您的电话中提取该号码。这个在变量中被调用的数字是我使用解析器或从网站sql检索到的数字。我做了一个按钮,试图用一个函数调用存储在变量中的电话号码,但无济于事。一切都会帮助谢谢! 问题答案: 试一试: 假设电话号码在。 的返回Optional,因此使用可以确保它是(而不是)返回的。 对于Swift 3:

  • 问题内容: 当我用make或new调用创建新的slice或struct时: Go通过内存分配系统调用分配多少内存?它是否预分配了内存,以便后续调用不会触发新的系统调用? 我问这个问题是因为我需要在代码中频繁分配内存。我不确定是否需要自己实现一个内存分配器,还是可以依靠Go来完成肮脏的工作。如果Go确实预分配了内存,我可以自定义要分配的块大小吗? 我在Go中编写了一些实验代码,并在strace下运行

  • 拨打普通电话(SkypeOut)     使用  Skype ,对传统的电话回线拨打电话。若要使用此机能,需先购买 Skype 点数。 1. 进入  Skype 的选单画面后,选择(拨号)。 2. 选择[国家或地区],从清单中选择国家或地区。 3. 选择[电话号码]后,输入号码并选择[确定]。 4. 选择[通话]。 对方接听后,即可开始通话。 重要 无法使用  Skype 拨打紧急电话。

  • 接听由普通电话拨打的电话(SkypeIn)     可接听传统的电话回线拨打的电话。若要使用此机能,需先购买  Skype 点数,或使用信用卡购买  SkypeIn 号码。其次,开始通话前,需先让支援PSP™版 Skype 的音频输入设备连接PSP™主机。 1. 登入 Skype ,并将登入状态调整为[ 在线]。 登入状态为[ 脱机]等状态时,无法接听电话。 2. 铃声响起,并显示来电画面后,选择

  • 我的要求是找出邮件收件人的号码是国际号码还是国家号码。 是否有任何Android API或任何第三方库可用于实现相同的。 我想使用libphonenumber谷歌API[android/externals/libphonenumber],但不知道如何检查国际号码和非国际号码。