java 电话号码 打号_如何以编程方式拨打紧急电话号码

我测试了一个有效的东西......

您必须检测电话号码是否为紧急号码(它们是在SIM卡中编码的),然后在号码的末尾添加“”,如果是的话 . 我测试了其他标志或数字,它没有工作(呼叫已完成,但它没有达到服务) .

我把她的代码从Orasi(一个视障人士的软件)中提取出来:

// Lance un appel

public static void CallNumber(Activity activity, String szNumber) {

Intent intent = new Intent(Intent.ACTION_CALL);

if(PhoneNumberUtils.isEmergencyNumber(szNumber)) {

szNumber += "+";

}

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);

intent.setData(GetUriForCall(szNumber));

activity.startActivity(intent);

}

GetUriForCall对标志进行编码 . 我还把代码放在这里:

// Retourne une URI pour appel téléphonique, avec adaptation encodage caratères

public static Uri GetUriForCall(String szNumber) {

String szOutNumber = szNumber.replace("*", Uri.encode("*")).replace("#",Uri.encode("#"));

return Uri.parse("tel:" + szOutNumber);

}

我在法国,我用'112'测试,这被视为紧急号码 . 有用 !

请注意,通常的紧急情况编号,即15(SAMU),18(消防部门)和17(警察)不被SIM卡视为紧急情况编号,并且作为正常编号工作 . 此外,911被视为一个,即使你不能在这里打电话给这个号码的人......

所以我认为在添加''之前测试数字很重要 . 另请注意,我编码'*'和'#',而不是'',因此它可以解释为什么这不适用于这些符号 .

希望这可以帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值