HarmonyOS鸿蒙Next中url_launcher插件适配

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

cke_4906.png

问题现象: Flutter插件 url_launcher : 在url_launcher插件的鸿蒙原生实现层,只要多接收一个短信内容的参数

url = “sms:$phoneNumber?body=${Uri.encodeQueryComponent(content)}”;

这个文件的launchSms这个方法,里面多接收一个参数,设置短信内容即可

cke_12702.png

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分支

插件链接: https://gitcode.com/openharmony-tpc/flutter_packages


更多关于HarmonyOS鸿蒙Next中url_launcher插件适配的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

开发者您好,您之前反馈的问题已内部验证通过,请您升级此分支版本验证。

更多关于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 部分接口可能随版本更新调整,实现前建议验证目标设备系统能力。

回到顶部