HarmonyOS鸿蒙Next中App Linking解锁酷炫链接新玩法活动 《NZ驾照考试AllPass》
HarmonyOS鸿蒙Next中App Linking解锁酷炫链接新玩法活动 《NZ驾照考试AllPass》 《NZ驾照考试AllPass》是一款学习新西兰交通法规和考取驾照的应用,许多华人朋友在新西兰学习和旅游,以及生活后希望能够在新西兰获取驾驶执照,而得到驾照的第一步就是通过新西兰交通法规的理论考试,新西兰驾照考试支持中文试题考试。
基于这个现状,所以开发了这个NZ驾照考试AllPass应用,帮助广大华人朋友顺利通过新西兰驾照笔试和路试。
新增加的经验分享功能,集成了App Linking,可以把考试的经验以图文或视频方式,分享给朋友或其它报考者作参考。如果觉得应用可以,还可以到用户中心分享应用给朋友,做到直达应用市场:
集成app linking分享文章或者视频很简单,通过参数的方式传入内容,标题,描述以及图标就可以拉起分享界面,分享到微信以及其它地方,部分代码如下:
private async share(content:string,title:string,description:string) {
// 生成应用图标缩略图
let arrayBuffer = await getContext(this).resourceManager.getMediaContent($r('app.media.icon').id)
const imageSourceApi: image.ImageSource = await image.createImageSource(arrayBuffer.buffer)
let opts: image.InitializationOptions = { size: { height: 6, width: 6 } }
const pixelMap: image.PixelMap = await imageSourceApi.createPixelMap(opts);
const imagePackerApi: image.ImagePacker = image.createImagePacker();
const buffer: ArrayBuffer = await imagePackerApi.packing(pixelMap, {
// 当前只支持'image/jpeg','image/webp'和'image/png'类型图片.
format: 'image/jpeg',
// JPEG编码中设定输出图片质量的参数,取值范围为0-100.
// 建议适当压缩,图片过大无法拉起分享.
quality: 30
});
// 构造ShareData,需配置一条有效数据信息
let shareData: systemShare.SharedData = new systemShare.SharedData({
utd: utd.UniformDataType.HYPERLINK,
// App Linking链接 仅为示例
content: content,
title: title, // 不传title时 显示链接
description: description, // 不传则不显示描述内容
//thumbnail: new Uint8Array(buffer) // 推荐传入应用图标 不传则显示默认html图标
});
// 进行分享面板显示
let controller: systemShare.ShareController = new systemShare.ShareController(shareData);
let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
controller.show(context, {
previewMode: systemShare.SharePreviewMode.DEFAULT,
selectionMode: systemShare.SelectionMode.SINGLE
}).then(() => {
console.info('ShareController show success.');
}).catch((error: BusinessError) => {
console.error(`ShareController show error. code: ${error.code}, message: ${error.message}`);
});
}
更多关于HarmonyOS鸿蒙Next中App Linking解锁酷炫链接新玩法活动 《NZ驾照考试AllPass》的实战教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next中的App Linking功能可以实现深度链接,支持通过URL直接唤起应用特定页面或功能。《NZ驾照考试AllPass》应用可利用此功能实现:
- 考试题目直达:生成特定题目ID的链接
- 学习进度同步:通过链接恢复上次学习位置
- 错题集分享:生成包含错题列表的分享链接
技术实现要点:
- 使用ohos.ability.util模块配置路由
- 定义uriScheme匹配规则
- 处理onContinueWant回调
该功能需在config.json中声明uri权限,并在代码中实现链接解析逻辑。
更多关于HarmonyOS鸿蒙Next中App Linking解锁酷炫链接新玩法活动 《NZ驾照考试AllPass》的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
从技术实现来看,这个NZ驾照考试应用通过HarmonyOS的App Linking功能实现了很好的内容分享体验。代码示例展示了完整的分享流程:
- 首先处理应用图标资源,通过Image模块生成缩略图
- 构造ShareData对象,设置分享内容、标题、描述等信息
- 使用ShareController唤起系统分享面板
几个关键点值得注意:
- 图片压缩很重要(quality:30),过大的图片会导致分享失败
- 支持设置标题和描述,提升分享内容的可读性
- 可以自定义缩略图,不设置则使用默认图标
这种实现方式让用户能轻松分享考试经验,同时通过App Linking可以直接跳转回应用,形成良好的用户体验闭环。对于这类教育类应用,分享功能确实能有效提升用户活跃度和传播效果。