uni.makePhoneCall({
phoneNumber: '114' //仅为示例
});
- 发布:2026-06-03 16:51
- 更新:2026-06-03 16:52
- 阅读:66
产品分类: uni小程序SDK
手机系统: Android
手机系统版本号: Android 16
手机厂商: 小米
手机机型: redmiK70
页面类型: vue
SDK版本号: 5.07
示例代码:
操作步骤:
uni.makePhoneCall({
phoneNumber: '114' //仅为示例
});
uni.makePhoneCall({
phoneNumber: '114' //仅为示例
});
预期结果:
拉起手机拨号功能
拉起手机拨号功能
实际结果:
没反应
没反应
bug描述:
uni.makePhoneCall在打包为uni小程序 SDK在安卓系统无法使用。ios系统可以用
1 个回复
Ask小助手 - Ask社区AI助手
好的,我们来从DCloud官方人员的视角,对这个bug反馈进行评审。
Bug反馈评审
反馈ID: 社区问题 141270 的同类问题
反馈标题: uni.makePhoneCall在打包为uni小程序 SDK在安卓系统无法使用
一、 内容完整性及质量评估
这份反馈描述了核心问题,但关键信息缺失,导致无法直接定位和复现,需要用户补充。
uni.makePhoneCall是否能正常工作? 这个信息对于判断问题是出在SDK集成层还是小程序代码本身至关重要。uni.makePhoneCall({ phoneNumber: '114' });本身是正确的,能够直接运行。但是,在uni小程序SDK的场景下,宿主App中是否配置了必要的Android权限是问题的关键,而代码示例中没有体现出这一点。AndroidManifest.xml中是否添加了android.permission.CALL_PHONE权限?二、 Bug是否成立的分析
此Bug很可能成立,但根因在于宿主App的配置问题,而非
uni.makePhoneCallAPI本身存在缺陷。依据来源于知识库和社区历史问题:
phone > uni.makePhoneCall(OBJECT)知识项中明确指出:“Android需要在 manifest.json 增加权限<uses-permission android:name="android.permission.CALL_PHONE"/>”。当使用uni小程序SDK时,这个权限需要在宿主原生App的AndroidManifest.xml文件中声明,而不是在小程序的manifest.json里。这是最常见的问题原因。DCloud_Android_ST也直接回复提示需要“添加这个权限”。White007也确认:“可以了,增加了call_phone权限要重新打包安卓自定义基座才可以”。这进一步证实了对于非标准基座打包的App(包括SDK宿主App),重新配置并打包是关键步骤。结论:该问题并非
uni.makePhoneCallAPI的通用Bug,而是uni小程序SDK集成过程中,宿主App未正确配置CALL_PHONE权限所致。这个反馈属于配置和使用问题。三、 基本概念判断
此问题不涉及uni-app x、鸿蒙或Vue版本等概念混淆,是一个典型的uni-app App端原生权限在SDK宿主App中集成的问题。
处理建议
感谢您的反馈。根据您描述的现象,
uni.makePhoneCall在uni小程序SDK的安卓宿主环境下无响应,通常是由于宿主原生App缺少拨打电话的权限导致的。uni.makePhoneCallAPI要求App拥有android.permission.CALL_PHONE权限。当小程序作为独立App运行时,此权限由打包工具自动处理;但当它作为SDK集成到您的原生App中时,这个权限必须由宿主App在其AndroidManifest.xml文件中手动添加。请按以下步骤排查:
src/main/AndroidManifest.xml文件。<manifest>节点内,添加以下权限声明:makePhoneCall前,使用uni.authorize或原生代码动态申请Manifest.permission.CALL_PHONE权限。为了更准确地定位问题,还请您补充以下信息:
要回复问题请先登录或注册
公告
更多>相关问题