陕西示范校建设专题网站英文关键词seo
在开发OpenHarmony的时候,经常遇到需要把所有测试功能的hap做成一个hap的需求。显然如果一个hap内集成所有测试hap的方案需要花费较大时间成本且各个测试hap之间api并不统一。这里采用应用间跳转的方式。
- 参考资料
- 官方文档:应用间跳转概述
- https://gitee.com/scenario-samples/pull-other-app
实现思路
1.这里采用指定Ability方式(即显式Want)拉起其他应用方式。
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@ohos.base';@Entry
@Component
struct Index {context = getContext(this) as common.UIAbilityContext;navPathStack: NavPathStack = new NavPathStack();@StylescommonButton() {.width(250).margin(5)}build() {Navigation(this.navPathStack) {Column() {Text('通过startAbility拉起:')Button('跳转系统相机').onClick(() => {let want: Want = {bundleName: 'com.ohos.camera',abilityName: 'com.ohos.camera.MainAbility',};this.context.startAbilityForResult(want).then((data) => {hilog.info(0x0000, 'Success', JSON.stringify(data))}).catch(() => {hilog.info(0x0000, 'error', '')})}).commonButton()Button('跳转系统设置wifi页面').onClick(() => {let want: Want = {bundleName: 'com.ohos.settings',abilityName: 'com.ohos.settings.MainAbility',uri: 'wifi', // 对应wifi设置页,不传就跳转系统设置首页/当前所在页};this.context.startAbility(want).then(() => {}).catch((err: BusinessError) => {hilog.error(0x0000, 'Failed to startAbility. Code:', `${err.code}${err.message}`);});}).commonButton()Button('跳转系统设置蓝牙页面').onClick(() => {let want: Want = {bundleName: 'com.ohos.settings',abilityName: 'com.ohos.settings.MainAbility',uri: 'bluetooth', // 对应wifi设置页,不传就跳转系统设置首页/当前所在页};this.context.startAbility(want).then(() => {}).catch((err: BusinessError) => {hilog.error(0x0000, 'Failed to startAbility. Code:', `${err.code}${err.message}`);});}).commonButton()Button('跳转系统音乐应用').onClick(() => {let want: Want = {bundleName: 'ohos.samples.distributedmusicplayer',abilityName: 'ohos.samples.distributedmusicplayer.MainAbility',uri: 'bluetooth', // 对应wifi设置页,不传就跳转系统设置首页/当前所在页};this.context.startAbility(want).then(() => {}).catch((err: BusinessError) => {hilog.error(0x0000, 'Failed to startAbility. Code:', `${err.code}${err.message}`);});}).commonButton()}.width('100%').height('100%')}.title('拉起系统及三方应用')}
}
本样例源码
https://gitee.com/from-north-to-north/OpenHarmony_p7885/blob/master/hap/easy_demo/demo_tiaozhuan/README.md