HarmonyOS鸿蒙Next NFC拉起元服务和元服务指定页面开发指导

HarmonyOS鸿蒙Next NFC拉起元服务和元服务指定页面开发指导 一、背景介绍

NFC在日常生活中的使用已经十分普遍,在我们的刷门禁、配置设备(摄像头、路由器)、开车门等诸多场景都已经使用到了NFC,但是NFC的使用场景远不止这些。通过NFC拉起元服务能帮我们优化哪些场景呢?例如我们在收银台放一个NFC标签,通过碰一碰可以快速帮我们留存用户。在餐桌放一个NFC可以免去因光线昏暗导致扫码点餐失败的问题。因为极大缩减了用户的操作步骤,用户对这种新奇的方式也会欣然接受。下面讲介绍一下如何实现通过NFC拉起元服和元服务指定页面

二、开发实战

创建元服务,并分别创建两个page,工程目录如下

通过配置文件config.json查看,两个page的分别是"pages/index/index"和 “pages/nextPage/nextPage”

"js": [
{
"pages": [
"pages/index/index",
"pages/nextPage/nextPage"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": true
}
}

打开MainAbility文件,元服务启动会调用onStart()方法。所以跳转指定页面的逻辑需要写到onStart()方法中,代码如下:

@Override
public void onStart(Intent intent) {
//pureNorthUrl是NFC子标签封装路径关键字,不可修改
//pageURl为NFC子标签配置的路径
String pageUrl = intent.getStringParam("pureNorthUrl");
if(!pageUrl.isEmpty()) {
//urlParam为用户自定义参数,在js页面data中定义同名参数接受。本样例通过title为js页面赋值
IntentParams urlParam = new IntentParams();
urlParam.setParam("title","this is next page");
setPageParams(pageUrl, urlParam);
}
//如果没有获取到参数,则打开元服务首页(config.json文件中pages中的第一个页面)
super.onStart(intent);
}

nextPage.hml代码如下:

<div class="container">
<text class="title">
{{ title }}
</text>
</div>

nextPage.js代码如下:title用来接受MainAbility中传递的参数,并显示到页面中

export default {
data: {
title: ""
},
onInit() {

}
}

代码到此结束,打包编译上架。

下面介绍如何配置NFC拉起元服务,待元服务(API9及以上版本当前还不支持)上架后打开“我的元服务”

选择上面发布的元服务,发布成功后可以看到“智慧分发配置”菜单

进入后点击左侧菜单“HarmonyOS标签触发”,填写相关信息

创建完成后可以看到分发标签

点击上图“编辑”可以下载NFC码流文件,和配置子标签,如下图所示

NFC码流文件如下图所示:打开文件会看到一串NFC标签

NFC标签规范如下:所以我们烧入NFC码流时要删掉上图获取字符串的前4位和后2位(否则会导致烧录失败)。

NFC写入工具获取地址:https://developer.huawei.com/consumer/cn/doc/smarthome-Library/download-0000001050287714

下载aiklink-tool工具,通过adb install命令安装到手机。联系支持人员获取airlink工具的invite Code。通过NFC写入工具写入NFC标签后,可以直接使用手机碰一碰NFC标签验证元服务拉起。至此NFC拉起元服务已配置完成。

下面继续配置NFC子标签:点击管理子标签,创建子标签

编辑已创建的子标签,下载标签导入模板,填写标签路径和路径说明,这里的标签路径就是上面代码中pureNorthUrl对应的参数,也可以通过配置其他字符屏蔽代码路径

导入并点击生成标签,并下载子标签

子标签码流通主标签一样写入NFC标签。然后通过NFC拉起可看到元服务通过NFC拉起nextPage页面。

–全篇完–


更多关于HarmonyOS鸿蒙Next NFC拉起元服务和元服务指定页面开发指导的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

一定要发布上线后才有这个能力吗?

更多关于HarmonyOS鸿蒙Next NFC拉起元服务和元服务指定页面开发指导的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是的,要先发布上架,或者发布Opentest版本才能验证拉起,

厉害,厉害。那后续可以通过NFC碰一碰直接拉起具体的应用详情页了吧

应用还没有验证过,

在HarmonyOS鸿蒙Next中,NFC拉起元服务及指定页面的开发步骤如下:

  1. 配置NFC标签:确保NFC标签包含元服务的URI信息,格式为harmony://app/com.example.app/service

  2. 元服务开发:在config.json中声明元服务,并实现onStart方法处理NFC触发的启动逻辑。

  3. 指定页面跳转:在元服务的onStart方法中,使用AbilityContext.startAbility方法跳转到指定页面,传递Page参数。

  4. 权限申请:在config.json中添加ohos.permission.NFC_TAG权限,确保应用可以读取NFC标签。

  5. 测试与调试:使用NFC标签测试元服务的拉起和页面跳转功能,确保流程顺畅。

通过以上步骤,开发者可以实现NFC拉起元服务并跳转到指定页面的功能。

回到顶部