HarmonyOS鸿蒙Next中url_launcher插件适配
HarmonyOS鸿蒙Next中url_launcher插件适配 问题描述: Flutter插件 url_launcher : 鸿蒙版本跳转到短信时,只能将手机号带过去,短信内容不能带过去,想把短信内容也带过去

问题现象: Flutter插件 url_launcher : 在url_launcher插件的鸿蒙原生实现层,只要多接收一个短信内容的参数
url = “sms:$phoneNumber?body=${Uri.encodeQueryComponent(content)}”;
这个文件的launchSms这个方法,里面多接收一个参数,设置短信内容即可

String url;
if (SystemUtil.isIOS) {
url = "sms:$phoneNumber&body=${Uri.encodeFull(content)}";
} else if (SystemUtil.isHarmonyOS) {
url = "sms:$phoneNumber";
// url = "sms:$phoneNumber?body=${Uri.encodeQueryComponent(content)}";
// TODO 后续需要支持
content.copyToClipboard();
} else {
url = "sms:$phoneNumber?body=$content";
}
if (await canLaunchUrlString(url)) {
await launchUrlString(url);
} else {
Log.e("不能发短信");
}
版本信息: Flutter ohos分支
更多关于HarmonyOS鸿蒙Next中url_launcher插件适配的实战教程也可以访问 https://www.itying.com/category-93-b0.html
开发者您好,您之前反馈的问题已内部验证通过,请您升级此分支版本验证。
更多关于HarmonyOS鸿蒙Next中url_launcher插件适配的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
尊敬的开发者,您好!感谢您的反馈,问题正在加速处理中,还请关注后续版本,感谢您的理解与支持。
尊敬的开发者,您好!您的问题已受理,请您耐心等待,感谢您的理解与支持!
url_launcher 插件的HarmonyOS端实现,目前只实现了标准 URI 跳转,没有处理携带内容的参数
在 HarmonyOS Next 中,url_launcher 插件适配需替换原有 Android 实现,使用 OpenLink 接口。通过 UIAbilityContext 的 openLink(link: string) 方法拉起系统默认浏览器或指定应用。需将插件依赖更新为 SDK 对应版本,并确保 module.json5 中配置支持 ohos 平台。
在 HarmonyOS Next 中适配 url_launcher 短信内容传递,需要修改插件原生实现,解析 Flutter 侧传入的 body 参数并传递给系统短信界面。
原生实现中(例如 launchSms 方法),除了手机号,还接收短信内容,构建 Want 时设置:
action:ohos.want.action.sendSms(或ability.intent.action.SENDTO)uri:sms:手机号parameters中添加"sms_body"键,值为短信内容字符串。
若系统短信应用支持该参数,即可自动填充内容。如果当前系统版本不支持直接填充,可保留 content.copyToClipboard() 作为备用,让用户手动粘贴。
注意鸿蒙 Next 部分接口可能随版本更新调整,实现前建议验证目标设备系统能力。

