HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第50天,使用隐式Want打开网址
HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第50天,使用隐式Want打开网址
1、使用隐式Want打开网址
前提条件
设备上安装了一个或多个浏览器。
浏览器应用中通过module.json5配置如下:
"skills": [
{
"entities": [
"entity.system.browsable"
// ...
],
"actions": [
"ohos.want.action.viewData"
// ...
],
"uris": [
{
"scheme": "https",
"host": "www.test.com",
"port": "8080",
// prefix matching
"pathStartWith": "query",
"type": "text/*"
},
{
"scheme": "http",
// ...
}
// ...
]
},
]
2、开发步骤
在自定义函数implicitStartAbility内使用隐式Want启动Ability。
async implicitStartAbility() {
try {
let want = {
// uncomment line below if wish to implicitly query only in the specific bundle.
// bundleName: "com.example.myapplication",
"action": "ohos.want.action.viewData",
// entities can be omitted.
"entities": [ "entity.system.browsable" ],
"uri": "https://www.test.com:8080/query/student",
"type": "text/plain"
}
let context = this as common.UIAbilityContext;
await context.startAbility(want)
console.info(`explicit start ability succeed`)
} catch (error) {
console.info(`explicit start ability failed with ${error.code}`)
}
}
匹配过程如下:
- want内action不为空,且被skills内action包括,匹配成功。
- want内entities不为空,且被skills内entities包括,匹配成功。
- skills内uris拼接为 https://www.test.com:8080/query* (*为通配符)包含want内uri,匹配成功。
- want内type不为空,且被skills内type包含,匹配成功。
当有多个匹配应用时,会被应用选择器展示给用户进行选择。
更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第50天,使用隐式Want打开网址的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
你好,我自己能力有限,学习官方文档,我没有说我自己原创,都是转载的。
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html
哈哈!!,
在HarmonyOS中,使用隐式Want打开网址可以通过startAbility
方法实现。隐式Want是指不指定具体的Ability,而是通过Action、URI等条件来匹配目标Ability。以下是一个简单的示例代码:
import featureAbility from '@ohos.ability.featureAbility';
let want = {
action: 'ohos.intent.action.VIEW',
uri: 'https://www.example.com'
};
featureAbility.startAbility({
want: want
}).then((data) => {
console.log('Ability started successfully');
}).catch((error) => {
console.error('Failed to start ability', error);
});
在这个示例中,action
设置为'ohos.intent.action.VIEW'
,表示要执行查看操作,uri
设置为要打开的网址。featureAbility.startAbility
方法会根据want
中的条件找到匹配的Ability并启动它。如果成功启动,会输出'Ability started successfully'
,否则会捕获并输出错误信息。