HarmonyOS 鸿蒙Next中通讯录模块,点击发送短信跳转到短信页面,提示“暂无可用打开方式。怎么处理?
HarmonyOS 鸿蒙Next中通讯录模块,点击发送短信跳转到短信页面,提示“暂无可用打开方式。怎么处理? 通讯录模块,点击发送短信跳转到短信页面,提示“暂无可用打开方式。怎么解决呢?
3 回复
开发者可参考一下,实现代码如下:
@Entry
@Component
struct Index {
//private context = getContext(this) as common.UIAbilityContext;
sendSMS(uiAbilityContext: common.UIAbilityContext,p:string) {
// let params: Array<Object> = [new Contact("张三", 13344556677)];
let params: Array<Record<string, string>> = [{'telephone': '13344556677' }]
let want: Want = {
bundleName: "com.ohos.mms",
abilityName: "com.ohos.mms.MainAbility",
parameters: {
contactObjects: JSON.stringify(params),
pageFlag: "conversation",
// 这里填写短信内容。
content: "我是短信具体内容"
}
}
uiAbilityContext.startAbilityForResult(want).then((data) => {
console.info("Success" + JSON.stringify(data))
}).catch((err: BusinessError) => {
console.error("error")
})
}
build() {
Row() {
Column() {
Button('发送短信')
.onClick(() => {
this.sendSMS(this.getUIContext().getHostContext() as common.UIAbilityContext, "13344556677");
})
}
.width('100%')
}
.height('100%')
}
}
也可参考短信服务API实现
更多关于HarmonyOS 鸿蒙Next中通讯录模块,点击发送短信跳转到短信页面,提示“暂无可用打开方式。怎么处理?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
此问题通常由短信应用未正确安装或权限配置异常导致。请按以下步骤排查:
- 确认短信应用已安装且无损坏,可尝试重启设备
- 检查通讯录和短信应用权限设置,确保已授予必要权限
- 在设置中搜索"默认应用",检查短信默认应用是否正常设置
- 清除通讯录和短信应用缓存数据
- 若仍无效,可尝试更新系统至最新版本
这个问题通常是由于系统未检测到可用的短信应用或权限配置不正确导致的。以下是几种解决方案:
-
检查默认短信应用设置
进入「设置」-「应用管理」-「默认应用」,确认已设置有效的短信应用(如系统自带短信应用或第三方应用)。 -
验证短信应用权限
在「设置」-「应用管理」中,找到短信应用,确保其拥有「发送短信」权限且未被禁用。 -
清除通讯录与短信应用缓存
依次进入通讯录和短信的应用信息页,选择「清除缓存」后重启设备。 -
检查URI跳转协议
若为开发者,需确认代码中使用的短信跳转URI格式正确(例如sms:${phoneNumber}?body=xxx
),且未因系统限制被拦截。 -
更新系统版本
检查是否有可用的HarmonyOS更新,部分早期版本可能存在组件兼容性问题。
若以上步骤无效,可尝试通过「我的华为」App提交问题日志,供技术团队进一步分析。