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
一定要发布上线后才有这个能力吗?
更多关于HarmonyOS鸿蒙Next NFC拉起元服务和元服务指定页面开发指导的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
是的,要先发布上架,或者发布Opentest版本才能验证拉起,
厉害,厉害。那后续可以通过NFC碰一碰直接拉起具体的应用详情页了吧
应用还没有验证过,
在HarmonyOS鸿蒙Next中,NFC拉起元服务及指定页面的开发步骤如下:
-
配置NFC标签:确保NFC标签包含元服务的URI信息,格式为
harmony://app/com.example.app/service
。 -
元服务开发:在
config.json
中声明元服务,并实现onStart
方法处理NFC触发的启动逻辑。 -
指定页面跳转:在元服务的
onStart
方法中,使用AbilityContext.startAbility
方法跳转到指定页面,传递Page
参数。 -
权限申请:在
config.json
中添加ohos.permission.NFC_TAG
权限,确保应用可以读取NFC标签。 -
测试与调试:使用NFC标签测试元服务的拉起和页面跳转功能,确保流程顺畅。
通过以上步骤,开发者可以实现NFC拉起元服务并跳转到指定页面的功能。