formKit卡片开发服务
卡片运行机制与约束
ArkTS卡片相关模块–EntryFormAbility,WidgetCard.ets,配置文件
创建卡片服务
应用和元服务
都可以创建卡片
.元服务配合卡片,不用下载app,常用的元服务可以使用卡片直接常驻在桌面上
卡片的概念
创建卡片的步骤
卡片创建之后,会增加下面的4个文件
WidgetCard
卡片的布局页面,build函数里面有FormLink是跳转组件,实现点击卡片跳转到应用中.应用没有打开则默认打开应用,应用已经打开,则调用这个应用
EntryFormAbility支撑卡片在桌面上的运行
在module.json5中自动配置Ability
form_config.json
{
"forms": [
{
"name": "widget1",
"displayName": "$string:widget1_display_name",
"description": "$string:widget1_desc",
"src": "./ets/widget1/pages/Widget1Card.ets",
"uiSyntax": "arkts",
"window": {
"designWidth": 720,
"autoDesignWidth": true
},
"colorMode": "auto",
"isDynamic": false,
"isDefault": true,
"updateEnabled": false,
"scheduledUpdateTime": "10:30",
"updateDuration": 1,
"defaultDimension": "2*4",
"supportDimensions": [
"2*4"
]
}
]
}
真机测试效果
重新打包到真机上,长按应用,就会弹出一个框,框里就有卡片,点击卡片,点击之后能看到刚刚创建的卡片
修改服务卡片的名称和描述
当然如果名字,描述,还有图标不满意,可以在form_config.json里面配置.
修改之后的效果
再创建动态卡片
会发现,新增一个widget文件夹.而entryformability没有新增文件夹,还是和静态卡片共用
对比静态卡片和动态卡片
静态卡片
功能: 服务直达,卡片上展示的是app的功能入口
约束: 只能设置2*4的卡片格式
跳转:通过formLink实现
动态卡片
功能:数据渲染+服务直达
跳转:通过postCardAction这个API实现
动态卡片服务直达
华为文档–服务直达
场景一:点击卡片任何地方可以进入主应用
如果UIAbility已在后台运行
,在收到Router事件后会触发onNewWant
生命周期回调
场景二:服务直达到指定的页面
同样是两种情况,分别是应用没打开过–生命周期对应的是onCreate,一种是应用在后台运行–生命周期对应的是onNewWant.