You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中Intent.ACTION_CALL拨打911开头号码失效问题咨询

问题原因说明
  • 核心触发逻辑是Android系统的紧急号码拦截规则:911属于全球通用的紧急呼叫号段,所有Android原生系统及厂商定制固件都默认对该号段做特殊保护,即便是申请了android.permission.CALL_PHONE权限的第三方应用,使用Intent.ACTION_CALL发起呼叫时,只要号码匹配911开头的规则,系统就会拦截直接呼叫的请求,降级为跳转系统默认拨号应用,需要用户手动确认后才会呼出,目的是防止恶意应用私自拨打紧急号码占用公共服务资源。
  • 印度地区固件的额外强化适配:面向印度地区发售的Android设备,本地定制的系统会额外对本地常用紧急号段(包含911、100、101、108等)做更严格的拦截规则,进一步限制第三方应用直接呼叫这类号段的权限,即使号码后续还有其他数字,只要前缀匹配紧急号段就会触发拦截逻辑。

如果你的业务场景中911开头的是普通商用号码而非紧急呼叫号码,可以尝试在号码前拼接印度国家码前缀+91,修改后的拨号代码示例如下:

String phoneNo = "+91911XXXXXXX"; 
Intent callIntent = new Intent(Intent.ACTION_CALL); 
callIntent.setData(Uri.parse("tel:" + phoneNo)); 
startActivity(callIntent);

添加国家码后系统会识别为普通手机号码,大部分场景下可以绕过紧急号段匹配规则,实现直接呼出。

内容的提问来源于stack exchange,提问作者Sayantan Basu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 17:06:02