

简体中文
目前鸿蒙元服务可通过 button 组件 可唤起系统应用、相同开发者名下的鸿蒙应用。
这里无额外限制,可快速打开特定系统页面
<button
type="primary"
open-type="launchApp"
@launchapp="onLaunchApp"
@error="onError"
app-bundle-name="com.huawei.hmos.calendar"
app-ability-name="MainAbility"
>
打开日历
</button>
跳转非同名开发者应用系统拦截,提示无法打开。
<button
open-type="launchApp"
app-bundle-name="io.dcloud.hellouniapp.h"
app-module-name="entry"
app-ability-name="EntryAbility"
:app-parameters='{from:"as"}'
@launchapp="onLaunchApp"
@error="onError"
>
唤起统一应用软件鸿蒙应用
</button>
上述代码可在 uniapp 的 helloUniApp 元服务中唤起 统一应用软件 应用并传递参数。
属性 | 类型 | 描述 |
---|---|---|
app-bundle-name | string | 必选,待启动应用包名 |
app-module-name | string | 可选。待启动 Ability 所属的模块名称。 |
app-ability-name | string | 必选,待启动 Ability 名称。一般为 EntryAbility |
app-parameters | string | 可选,自定义传递参数 |
传递的参数可通过 UTS 插件来读取。创建 UTS API 插件,定位到 uni_modules/uni-onLaunch/utssdk/app-harmony/index.uts
import { Want } from '@kit.AbilityKit';
export const params = {
paramsOnCrate: '',
paramsOnNewWant: '',
};
UTSHarmony.onAppAbilityCreate((want: Want) => {
let uri = want?.uri;
params.paramsOnCrate = uri ?? '';
// 实际上立即执行了,但是通信通道还没有建立,延迟一秒打印可以看到数据
// 延迟是为了看到打印,业务逻辑不需要延迟
setTimeout(() => {
console.log('onCreate', want);
}, 1000);
});
UTSHarmony.onAppAbilityNewWant((want: Want) => {
params.paramsOnNewWant = want?.uri ?? '';
console.log('onNewWant', want);
});
传递的参数,可在 want.parameters
中读取。