当在module.json5文件的skills字段中声明uris时,主要包含如下字段。
scheme:协议名称。常见的取值有http、https、file、ftp等,也可以自定义。
host:域名或IP地址。例如域名developer.huawei.com或IP地址127.0.0.1。
port:端口号。例如developer.huawei.com:80后面的80即为端口号。
path:路径,表示域名服务器上的目录或文件路径,该字段在scheme存在时才有意义。path字段不支持通配符,如果需要使用通配符,可以采用pathRegex字段。
pathStartWith:路径前缀,该字段在scheme存在时才有意义,表示域名服务器上的目录或文件路径的前缀,用于前缀匹配。
pathRegex:路径正则,该字段在scheme存在时才有意义,表示域名服务器上的目录或文件路径的正则表达式,用于正则匹配。
linkFeature:应用的功能类型(如文件打开、分享、导航等)。取值为长度不超过127字节的字符串,不支持中文。
按照配置的字段不同,uris可以拼接为不同的URL表达式。其中,scheme为必选字段,其他字段仅当scheme存在时才有意义。
只配置scheme:scheme://
只配置scheme和host:scheme://host
只配置scheme、host和port:scheme://host:port
当配置了path、pathStartWith或pathRegex字段时,组成的表达式如下。
同一Bundle中声明的linkFeature数量不能超过150个。
目标应用在linkFeature字段中声明功能类型,并通过应用市场上架审核后,可以提升应用跳转体验。主要用于以下两种场景:
支持系统识别同类应用:当调用方拉起垂类应用(例如导航类应用)时,系统会根据linkFeature字段识别到匹配的应用,并在应用面板中展现。
| 值 | 说明 |
|---|---|
| AppStorageMgmt | 指示清理应用沙箱目录中缓存数据的功能。使用场景详见清理应用沙箱缓存数据场景。 |
| FileOpen | 指示打开处理文件的功能。使用场景详见拉起文件处理类应用。 |
| Navigation | 指示导航功能。使用场景详见拉起导航类应用。 |
| RoutePlan | 指示路线规划功能。使用场景详见拉起导航类应用。 |
| PlaceSearch | 指示地点搜索功能。使用场景详见拉起导航类应用。 |
| DetailLocation | 指示地点详情功能。使用场景详见拉起导航类应用。 |
| Transfer | 指示转账汇款功能。使用场景详见拉起金融类应用。 |
| CreditCardRepayment | 指示信用卡还款功能。使用场景详见拉起金融类应用。 |
| ComposeMail | 指示撰写邮件功能。使用场景详见拉起邮件类应用。 |
| QueryByFlightNo | 指示按航班号查询航班功能。使用场景详见拉起航班类应用。 |
| QueryByLocation | 指示按起降地查询航班功能。使用场景详见拉起航班类应用。 |
| QueryExpress | 指示快递查询功能。使用场景详见拉起快递类应用。 |
| AppNotificationMgmt | 指示应用内通知设置的功能。使用场景详见应用内通知设置快捷入口。 |
| PrimaryContactMgmt | 从API version 23开始,新增支持该字段。指示社交通讯类应用“重要联系人列表”的设置功能。使用场景详见优先通知权益申请。 |
指定类型的应用被拉起时免跳转弹框:正常情况下,拉起指定类型的应用时,都会弹出确认是否打开应用的弹窗。如果您的应用有向其他应用提供登录/分享/支付的功能,可以在应用中声明对应的LinkFeature(取值参见下表)。应用通过上架审核后,当其他应用拉起您的应用时将不再弹窗提示。

| 值 | 说明 |
|---|---|
| Login | 指示登录、授权登录等功能。 |
| Pay | 指示支付页面、收银台等功能。 |
| Share | 指示分享功能。 |
通过“设置 > 存储”可以选择进入某个应用的应用详情页,该页面默认会包含“清空缓存”选项,用于清除当前应用的所有缓存数据。
如果开发者实现了自定义数据清理页面,并希望能够在应用详情页提供跳转入口,可以通过配置linkFeature字段进行接入。
在module.json5配置文件中,对实现了数据清理功能的Ability添加如下skills配置。
其中,linkFeature字段必须配置为AppStorageMgmt,其他字段取值请根据实际情况修改为实际值。
{
"name": "ClearAbility",
"srcEntry": "./ets/clearability/ClearAbility.ets",
"description": "$string:ClearAbility_desc",
"icon": "$media:layered_image",
"label": "$string:ClearAbility_label",
// ···
"skills": [
{
"uris": [
{
"scheme": "storage",
"host": "developer.huawei.com",
"path": "clearcache",
"linkFeature": "AppStorageMgmt"
}
]
}
]
} 功能验证。
效果图如下:

以登录场景为例,介绍指定类型的应用被拉起时如何实现免跳转弹框。
设置linkFeature属性以声明当前应用支持的特性功能,从而系统可以从设备已安装应用中找到当前支持该特性的应用,登录场景LinkFeature固定为Login。
设置scheme、host、port、path/pathStartWith属性,与Want中uri相匹配,以便区分不同功能,linkFeature设置为Login。
"uris": [
{
"scheme": "https",
"host": "developer.huawei.com",
"path": "consumer",
"linkFeature": "Login"
}
] 解析参数并做对应处理。
UIAbility.onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void
在参数want.uri中会携带目标方配置的linkFeature对应的uri。