赞
踩
如下图,一个app下有多个module,一个是entry,最为程序的主入口;一个是myFirstMoudle,它的Moudule type是 feature(特征)
二、系统内应用相互跳转和同一个app的多个module之间跳转
-
- // ①跳转相册 —— 系统应用
- let want = {
- "deviceId": "",
- "bundleName": "",
- "abilityName": "",
- "uri": "",
- "type": "image/*",
- "action": "android.intent.action.GET_CONTENT",
- "parameters": {},
- "entities": []
- }
-
- // ②跳转系统设置无障碍 —— 系统应用
- let want = {
- "deviceId": "",
- "bundleName": "",
- "abilityName": "",
- "uri": "",
- "action": "android.settings.ACCESSIBILITY_SETTINGS",
- "parameters": {},
- "entities": []
- }
- this.context.startAbility(want, (err) => {
- if (err.code) {
- // 处理业务逻辑错误
- console.log('startAbility failed, error.code: ' + JSON.stringify(err.code) +
- ' error.message: ' + JSON.stringify(err.message));
- return;
- }
- // 正常逻辑
- })
-
- // ③系统内置的 Action 参数
- import wantConstant from '@ohos.ability.wantConstant';
-
- // 打开系统设置的另一种方式(使用 HarmonOS 内置的枚举) —— 系统应用
- let want = {
- "deviceId": "",
- "bundleName": "",
- "abilityName": "",
- "uri": "",
- "action": wantConstant.Action.ACTION_WIRELESS_SETTINGS,
- "parameters": {},
- "entities": []
- }
-
- // ④ A UIAbility 和 A-1 UIAbility (A 的 Feature UIAbility,作为子 module 存在),需求是我们要实现 entry 跳转到 feature UIAbility
- // 这个跳转自定义的module或者app
- if (item.id === 1001){
- want.bundleName = "com.examples";
- want.abilityName = "FeatTestNotificationAbility";
- want.moduleName ="featTestNotification";
- want.action = null;
- }
- this.context.startAbility(want, (err) => {
- if (err.code) {
- // 处理业务逻辑错误
- console.log('startAbility failed, error.code: ' + JSON.stringify(err.code) +
- ' error.message: ' + JSON.stringify(err.message));
- return;
- }
- // 正常逻辑
- })
三、如果看不懂上面的代码,请阅读官方文档,UIAbility组件概述,want参数配置,上下文获取
在应用内之前实现不同 page 的跳转,我们使用 router
即可,页面跳转主要支持如下两个方法:
router 跳转模式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。