当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1.4K Star 7.4K Fork 8.2K

OpenHarmony/docs
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
docker
en
zh-cn
application-dev
IDL
ability-deprecated
application-models
application-test
connectivity
database
device-usage-statistics
device
dfx
faqs
file-management
internationalization
key-features/multi-device-app-dev
media
napi
notification
public_sys-resources
quick-start
reference
apis
figures
public_sys-resources
Readme-CN.md
development-intro.md
js-apis-Bundle-BundleStatusCallback.md
js-apis-Bundle-InnerBundleManager.md
js-apis-Bundle-distributedBundle.md
js-apis-Bundle.md
js-apis-EnterpriseAdminExtensionAbility.md
js-apis-WorkSchedulerExtensionAbility.md
js-apis-ability-ability.md
js-apis-ability-context.md
js-apis-ability-dataUriUtils.md
js-apis-ability-errorCode.md
js-apis-ability-featureAbility.md
js-apis-ability-particleAbility.md
js-apis-ability-wantConstant.md
js-apis-abilityAccessCtrl.md
js-apis-accessibility-GesturePath.md
js-apis-accessibility-GesturePoint.md
js-apis-accessibility-config.md
js-apis-accessibility.md
js-apis-animator.md
js-apis-app-ability-ability.md
js-apis-app-ability-abilityConstant.md
js-apis-app-ability-abilityDelegatorRegistry.md
js-apis-app-ability-abilityLifecycleCallback.md
js-apis-app-ability-abilityManager.md
js-apis-app-ability-abilityStage.md
js-apis-app-ability-appManager.md
js-apis-app-ability-appRecovery.md
js-apis-app-ability-common.md
js-apis-app-ability-configuration.md
js-apis-app-ability-configurationConstant.md
js-apis-app-ability-contextConstant.md
js-apis-app-ability-environmentCallback.md
js-apis-app-ability-errorManager.md
js-apis-app-ability-extensionAbility.md
js-apis-app-ability-missionManager.md
js-apis-app-ability-quickFixManager.md
js-apis-app-ability-serviceExtensionAbility.md
js-apis-app-ability-startOptions.md
js-apis-app-ability-uiAbility.md
js-apis-app-ability-want.md
js-apis-app-ability-wantAgent.md
js-apis-app-ability-wantConstant.md
js-apis-app-form-formBindingData.md
js-apis-app-form-formExtensionAbility.md
js-apis-app-form-formHost.md
js-apis-app-form-formInfo.md
js-apis-app-form-formProvider.md
js-apis-appAccount.md
js-apis-appControl.md
js-apis-application-ability.md
js-apis-application-abilityConstant.md
js-apis-application-abilityDelegatorRegistry.md
js-apis-application-abilityLifecycleCallback.md
js-apis-application-abilityManager.md
js-apis-application-abilityStage.md
js-apis-application-accessibilityExtensionAbility.md
js-apis-application-appManager.md
js-apis-application-configuration.md
js-apis-application-configurationConstant.md
js-apis-application-context.md
js-apis-application-dataShareExtensionAbility.md
js-apis-application-environmentCallback.md
js-apis-application-errorManager.md
js-apis-application-extensionAbility.md
js-apis-application-formBindingData.md
js-apis-application-formError.md
js-apis-application-formExtension.md
js-apis-application-formHost.md
js-apis-application-formInfo.md
js-apis-application-formProvider.md
js-apis-application-missionManager.md
js-apis-application-serviceExtensionAbility.md
js-apis-application-startOptions.md
js-apis-application-staticSubscriberExtensionAbility.md
js-apis-application-testRunner.md
js-apis-application-want.md
js-apis-application-windowExtensionAbility.md
js-apis-arraylist.md
js-apis-audio.md
js-apis-avsession.md
js-apis-backgroundTaskManager.md
js-apis-battery-info.md
js-apis-batteryStatistics.md
js-apis-bluetooth.md
js-apis-brightness.md
js-apis-buffer.md
js-apis-bundle-AbilityInfo.md
js-apis-bundle-ApplicationInfo.md
js-apis-bundle-BundleInfo.md
js-apis-bundle-BundleInstaller.md
js-apis-bundle-CustomizeData.md
js-apis-bundle-ElementName.md
js-apis-bundle-HapModuleInfo.md
js-apis-bundle-LauncherAbilityInfo.md
js-apis-bundle-ModuleInfo.md
js-apis-bundle-PermissionDef.md
js-apis-bundle-ShortcutInfo.md
js-apis-bundle-remoteAbilityInfo.md
js-apis-bundleManager-abilityInfo.md
js-apis-bundleManager-applicationInfo.md
js-apis-bundleManager-bundleInfo.md
js-apis-bundleManager-dispatchInfo.md
js-apis-bundleManager-elementName.md
js-apis-bundleManager-extensionAbilityInfo.md
js-apis-bundleManager-hapModuleInfo.md
js-apis-bundleManager-launcherAbilityInfo.md
js-apis-bundleManager-metadata.md
js-apis-bundleManager-packInfo.md
js-apis-bundleManager-permissionDef.md
js-apis-bundleManager-remoteAbilityInfo.md
js-apis-bundleManager-shortcutInfo.md
js-apis-bundleManager.md
js-apis-bundleMonitor.md
js-apis-bytrace.md
js-apis-call.md
js-apis-camera.md
js-apis-cardEmulation.md
js-apis-colorSpaceManager.md
js-apis-commonEvent.md
js-apis-commonEventManager.md
js-apis-configPolicy.md
js-apis-connectedTag.md
js-apis-contact.md
js-apis-continuation-continuationExtraParams.md
js-apis-continuation-continuationManager.md
js-apis-continuation-continuationResult.md
js-apis-convertxml.md
js-apis-cooperate.md
js-apis-cryptoFramework.md
js-apis-curve.md
js-apis-data-DataShareResultSet.md
js-apis-data-ability.md
js-apis-data-dataShare.md
js-apis-data-dataSharePredicates.md
js-apis-data-distributedobject.md
js-apis-data-preferences.md
js-apis-data-rdb.md
js-apis-data-resultset.md
js-apis-data-storage.md
js-apis-data-valuesBucket.md
js-apis-defaultAppManager.md
js-apis-deque.md
js-apis-device-info.md
js-apis-device-manager.md
js-apis-deviceUsageStatistics.md
js-apis-display.md
js-apis-distributed-account.md
js-apis-distributed-data.md
js-apis-distributedBundle.md
js-apis-distributedKVStore.md
js-apis-distributedMissionManager.md
js-apis-document.md
js-apis-effectKit.md
js-apis-emitter.md
js-apis-enterprise-adminManager.md
js-apis-enterprise-dateTimeManager.md
js-apis-environment.md
js-apis-faultLogger.md
js-apis-fileAccess.md
js-apis-fileExtensionInfo.md
js-apis-fileio.md
js-apis-freeInstall.md
js-apis-geoLocationManager.md
js-apis-geolocation.md
js-apis-hashmap.md
js-apis-hashset.md
js-apis-hiappevent.md
js-apis-hichecker.md
js-apis-hidebug.md
js-apis-hilog.md
js-apis-hisysevent.md
js-apis-hitracechain.md
js-apis-hitracemeter.md
js-apis-hiviewdfx-hiappevent.md
js-apis-http.md
js-apis-huks.md
js-apis-i18n.md
js-apis-image.md
js-apis-inner-ability-abilityResult.md
js-apis-inner-ability-connectOptions.md
js-apis-inner-ability-dataAbilityHelper.md
js-apis-inner-ability-dataAbilityOperation.md
js-apis-inner-ability-dataAbilityResult.md
js-apis-inner-ability-startAbilityParameter.md
js-apis-inner-ability-want.md
js-apis-inner-app-appVersionInfo.md
js-apis-inner-app-context.md
js-apis-inner-app-processInfo.md
js-apis-inner-application-abilityDelegator.md
js-apis-inner-application-abilityDelegatorArgs.md
js-apis-inner-application-abilityMonitor.md
js-apis-inner-application-abilityRunningInfo.md
js-apis-inner-application-abilityStageContext.md
js-apis-inner-application-abilityStageMonitor.md
js-apis-inner-application-abilityStateData.md
js-apis-inner-application-accessibilityExtensionContext.md
js-apis-inner-application-appStateData.md
js-apis-inner-application-applicationContext.md
js-apis-inner-application-applicationStateObserver.md
js-apis-inner-application-baseContext.md
js-apis-inner-application-context.md
js-apis-inner-application-continueCallback.md
js-apis-inner-application-continueDeviceInfo.md
js-apis-inner-application-errorObserver.md
js-apis-inner-application-eventHub.md
js-apis-inner-application-extensionContext.md
js-apis-inner-application-extensionRunningInfo.md
js-apis-inner-application-formExtensionContext.md
js-apis-inner-application-missionCallbacks.md
js-apis-inner-application-missionDeviceInfo.md
js-apis-inner-application-missionInfo.md
js-apis-inner-application-missionListener.md
js-apis-inner-application-missionParameter.md
js-apis-inner-application-missionSnapshot.md
js-apis-inner-application-permissionRequestResult.md
js-apis-inner-application-processData.md
js-apis-inner-application-processRunningInfo.md
js-apis-inner-application-processRunningInformation.md
js-apis-inner-application-serviceExtensionContext.md
js-apis-inner-application-shellCmdResult.md
js-apis-inner-application-uiAbilityContext.md
js-apis-inner-wantAgent-triggerInfo.md
js-apis-inner-wantAgent-wantAgentInfo.md
js-apis-inputconsumer.md
js-apis-inputdevice.md
js-apis-inputevent.md
js-apis-inputeventclient.md
js-apis-inputmethod-extension-ability.md
js-apis-inputmethod-extension-context.md
js-apis-inputmethod-subtype.md
js-apis-inputmethod.md
js-apis-inputmethodengine.md
js-apis-inputmonitor.md
js-apis-installer.md
js-apis-intl.md
js-apis-keycode.md
js-apis-keyevent.md
js-apis-launcherBundleManager.md
js-apis-lightweightmap.md
js-apis-lightweightset.md
js-apis-linkedlist.md
js-apis-list.md
js-apis-logs.md
js-apis-matrix4.md
js-apis-media.md
js-apis-medialibrary.md
js-apis-mediaquery.md
js-apis-mouseevent.md
js-apis-net-connection.md
js-apis-net-ethernet.md
js-apis-nfcController.md
js-apis-nfcTag.md
js-apis-nfctech.md
js-apis-notification.md
js-apis-notificationManager.md
js-apis-notificationSubscribe.md
js-apis-observer.md
js-apis-osAccount.md
js-apis-pasteboard.md
js-apis-plainarray.md
js-apis-pointer.md
js-apis-power.md
js-apis-privacyManager.md
js-apis-process.md
js-apis-prompt.md
js-apis-promptAction.md
js-apis-queue.md
js-apis-radio.md
js-apis-reminderAgent.md
js-apis-reminderAgentManager.md
js-apis-request.md
js-apis-resource-manager.md
js-apis-resourceschedule-backgroundTaskManager.md
js-apis-resourceschedule-deviceUsageStatistics.md
js-apis-resourceschedule-workScheduler.md
js-apis-router.md
js-apis-rpc.md
js-apis-runninglock.md
js-apis-screen-lock.md
js-apis-screen.md
js-apis-screenshot.md
js-apis-securityLabel.md
js-apis-sensor.md
js-apis-settings.md
js-apis-sim.md
js-apis-sms.md
js-apis-socket.md
js-apis-stack.md
js-apis-statfs.md
js-apis-stationary.md
js-apis-storage-statistics.md
js-apis-system-app.md
js-apis-system-battery.md
js-apis-system-bluetooth.md
js-apis-system-brightness.md
js-apis-system-capability.md
js-apis-system-cipher.md
js-apis-system-configuration.md
js-apis-system-device.md
js-apis-system-fetch.md
js-apis-system-file.md
js-apis-system-location.md
js-apis-system-mediaquery.md
js-apis-system-network.md
js-apis-system-notification.md
js-apis-system-package.md
js-apis-system-parameter.md
js-apis-system-parameterV9.md
js-apis-system-prompt.md
js-apis-system-request.md
js-apis-system-router.md
js-apis-system-sensor.md
js-apis-system-storage.md
js-apis-system-time.md
js-apis-system-timer.md
js-apis-system-vibrate.md
js-apis-tagSession.md
js-apis-telephony-data.md
js-apis-thermal.md
js-apis-timer.md
js-apis-touchevent.md
js-apis-treemap.md
js-apis-treeset.md
js-apis-uitest.md
js-apis-update.md
js-apis-uri.md
js-apis-url.md
js-apis-usb-deprecated.md
js-apis-usb.md
js-apis-userFileManager.md
js-apis-useriam-faceauth.md
js-apis-useriam-userauth.md
js-apis-util.md
js-apis-vector.md
js-apis-vibrator.md
js-apis-volumemanager.md
js-apis-wallpaper.md
js-apis-wantAgent.md
js-apis-webSocket.md
js-apis-webgl.md
js-apis-webgl2.md
js-apis-webview.md
js-apis-wifi.md
js-apis-wifiManager.md
js-apis-wifiManagerExt.md
js-apis-wifiext.md
js-apis-window.md
js-apis-windowAnimationManager.md
js-apis-worker.md
js-apis-xml.md
js-apis-zlib.md
arkui-js
arkui-ts
errorcodes
figures
js-service-widget-ui
native-apis
native-lib
Readme-CN.md
syscap-list.md
syscap.md
security
task-management
telephony
tools
ui
webgl
windowmanager
Readme-CN.md
application-dev-guide-for-gitee.md
application-dev-guide.md
website.md
contribute
design
device-dev
figures
readme
release-notes
third-party-components
Legal-Notices.md
OpenHarmony-Overview_zh.md
glossary.md
readme.md
website.md
.gitattributes
.gitignore
CODEOWNERS
DCO.txt
LICENSE
OAT.xml
README.md
README_zh.md
克隆/下载
js-apis-ability-featureAbility.md 26.99 KB
一键复制 编辑 原始数据 按行查看 历史

@ohos.ability.featureAbility (FeatureAbility模块)

FeatureAbility模块提供带有UI设计与用户交互的能力,包括启动新的ability、获取dataAbilityHelper、设置此Page Ability、获取当前Ability对应的窗口,连接服务等。

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用。

使用限制

FeatureAbility模块的接口只能在Page类型的Ability调用

导入模块

import featureAbility from '@ohos.ability.featureAbility';

featureAbility.startAbility

startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<number>): void

启动新的ability(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter StartAbilityParameter 表示被启动的Ability。
callback AsyncCallback<number> 被指定的回调方法。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.startAbility(
    {
        want:
        {
            action: "",
            entities: [""],
            type: "",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri: ""
        },
    },
    (err, data) => {
        console.info("startAbility err: " + JSON.stringify(err) + "data: " + JSON.stringify(data));
    }
);

featureAbility.startAbility

startAbility(parameter: StartAbilityParameter): Promise<number>

启动新的ability(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter StartAbilityParameter 表示被启动的Ability。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.startAbility(
    {
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri: ""
        },
    }
).then((data) => {
    console.info("startAbility data: " + JSON.stringify(data));
});

featureAbility.acquireDataAbilityHelper7+

acquireDataAbilityHelper(uri: string): DataAbilityHelper

获取dataAbilityHelper。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
uri string 指示要打开的文件的路径。

返回值:

类型 说明
DataAbilityHelper 用来协助其他Ability访问DataAbility的工具类。

示例:

import featureAbility from '@ohos.ability.featureAbility';
var dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);

featureAbility.startAbilityForResult7+

startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback<AbilityResult>): void

启动一个ability,并在该ability被销毁时返回执行结果(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter StartAbilityParameter 表示被启动的Ability。
callback AsyncCallback<AbilityResult> 被指定的回调方法。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.startAbilityForResult(
   {
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri:""
        },
    },
    (err, data) => {
        console.info("startAbilityForResult err: " + JSON.stringify(err) + "data: " + JSON.stringify(data));
    }
);

featureAbility.startAbilityForResult7+

startAbilityForResult(parameter: StartAbilityParameter): Promise<AbilityResult>

启动一个ability,并在该ability被销毁时返回执行结果(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter StartAbilityParameter 表示被启动的Ability

返回值:

类型 说明
Promise<AbilityResult> 返回执行结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.startAbilityForResult(
    {
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri:"",
            parameters:
            {
                mykey0: 1111,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "xxxxxxxxxxxxxxxxxxxxxx",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["aaaaaa", "bbbbb", "ccccccccccc"],
                mykey7: true,
            },
        },
    },
).then((data) => {
    console.info("startAbilityForResult data: " + JSON.stringify(data));
});

featureAbility.terminateSelfWithResult7+

terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void

设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter AbilityResult 表示被启动的Ability。
callback AsyncCallback<void> 被指定的回调方法。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.terminateSelfWithResult(
    {
        resultCode: 1,
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri:"",
            parameters: {
                mykey0: 2222,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "ssssssssssssssssssssssssss",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
                mykey7: true,
            }
        },
    },
    (err) => {
        console.info("err: " + JSON.stringify(err))
    }
);

featureAbility.terminateSelfWithResult7+

terminateSelfWithResult(parameter: AbilityResult): Promise<void>

设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
parameter AbilityResult 表示被启动的Ability

返回值:

类型 说明
Promise<void> 以Promise形式返回结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';
featureAbility.terminateSelfWithResult(
    {
        resultCode: 1,
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.myapplication",
            /* FA模型中abilityName由package + Ability name组成 */
            abilityName: "com.example.entry.secondAbility",
            uri:"",
            parameters: {
                mykey0: 2222,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "ssssssssssssssssssssssssss",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
                mykey7: true,
            }
        },
    }
).then((data) => {
    console.info("==========================>terminateSelfWithResult=======================>");
});

featureAbility.hasWindowFocus7+

hasWindowFocus(callback: AsyncCallback<boolean>): void

检查Ability的主窗口是否具有窗口焦点(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 被指定的回调方法。
如果此Ability当前具有视窗焦点,则返回true;否则返回false。

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.hasWindowFocus((err, data) => {
    console.info("hasWindowFocus err: " + JSON.stringify(err) + "data: " + JSON.stringify(data));
});

featureAbility.hasWindowFocus7+

hasWindowFocus(): Promise<boolean>

检查Ability的主窗口是否具有窗口焦点(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

返回值:

类型 说明
Promise<boolean> 如果此Ability当前具有视窗焦点,则返回true;否则返回false。

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.hasWindowFocus().then((data) => {
    console.info("hasWindowFocus data: " + JSON.stringify(data));
});

featureAbility.getWant

getWant(callback: AsyncCallback<Want>): void

获取从Ability发送的Want(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
callback AsyncCallback<Want> 被指定的回调方法。

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.getWant((err, data) => {
    console.info("getWant err: " + JSON.stringify(err) + "data: " + JSON.stringify(data));
});

featureAbility.getWant

getWant(): Promise<Want>

获取从Ability发送的Want(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

返回值:

类型 说明
Promise<Want> 以Promise的形式返回结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.getWant().then((data) => {
    console.info("getWant data: " + JSON.stringify(data));
});

featureAbility.getContext

getContext(): Context

获取应用上下文。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

返回值:

类型 说明
Context 返回应用程序上下文。

示例:

import featureAbility from '@ohos.ability.featureAbility';
var context = featureAbility.getContext()
context.getBundleName((err, data) => {
    console.info("getBundleName err: " + JSON.stringify(err) + "data: " + JSON.stringify(data));
});

featureAbility.terminateSelf7+

terminateSelf(callback: AsyncCallback<void>): void

设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 被指定的回调方法

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.terminateSelf(
    (err) => {
        console.info("err: " + JSON.stringify(err))
    }
)

featureAbility.terminateSelf7+

terminateSelf(): Promise<void>

设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

返回值:

类型 说明
Promise<void> 以Promise的形式返回结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';
featureAbility.terminateSelf().then((data) => {
    console.info("==========================>terminateSelf=======================>");
});

featureAbility.connectAbility7+

connectAbility(request: Want, options:ConnectOptions): number

将当前ability连接到指定ServiceAbility(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
request Want 表示被连接的ServiceAbility。
options ConnectOptions 被指定的回调方法。

返回值:

类型 说明
number 连接的ServiceAbilityID。

示例:

import rpc from '@ohos.rpc';
import featureAbility from '@ohos.ability.featureAbility';
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connectId = featureAbility.connectAbility(
    {
        deviceId: "",
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);

featureAbility.disconnectAbility7+

disconnectAbility(connection: number, callback:AsyncCallback<void>): void

断开与指定ServiceAbility的连接(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
connection number 指定断开连接的ServiceAbilityID
callback AsyncCallback<void> 被指定的回调方法

示例:

import rpc from '@ohos.rpc';
import featureAbility from '@ohos.ability.featureAbility';
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connectId = featureAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);

featureAbility.disconnectAbility(connectId, (err) => {
    console.log("featureAbilityTest disconnectAbility err====>"
    + ("json err=") + JSON.stringify(err));
});

featureAbility.disconnectAbility7+

disconnectAbility(connection: number): Promise<void>

断开与指定ServiceAbility的连接(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
connection number 指定断开连接的ServiceAbilityID

返回值:

类型 说明
Promise<void> 以Promise形式返回结果。

示例:

import rpc from '@ohos.rpc';
import featureAbility from '@ohos.ability.featureAbility';
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connectId = featureAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);

featureAbility.disconnectAbility(connectId).then((data) => {
    console.log('data : '  + data);
}).catch((error)=>{
    console.log('featureAbilityTest result errCode : ' + error.code);
});

featureAbility.getWindow7+

getWindow(callback: AsyncCallback<window.Window>): void

获取当前Ability对应的窗口(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

参数:

参数名 类型 必填 说明
callback AsyncCallback<window.Window> 返回与当前Ability对应的窗口。

示例:

featureAbility.getWindow((err, data) => {
    console.info("getWindow err: " + JSON.stringify(err) + "data: " + typeof(data));
});

featureAbility.getWindow7+

getWindow(): Promise<window.Window>;

获取当前Ability对应的窗口(Promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

返回值:

类型 说明
Promise<window.Window> 返回与当前Ability对应的窗口。

示例:

featureAbility.getWindow().then((data) => {
    console.info("getWindow data: " + typeof(data));
});

AbilityWindowConfiguration

使用时通过featureAbility.AbilityWindowConfiguration获取。

示例:

featureAbility.AbilityWindowConfiguration.WINDOW_MODE_UNDEFINED

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel

名称 说明
WINDOW_MODE_UNDEFINED7+ 0 未定义。
WINDOW_MODE_FULLSCREEN7+ 1 全屏。
WINDOW_MODE_SPLIT_PRIMARY7+ 100 分屏主屏。
WINDOW_MODE_SPLIT_SECONDARY7+ 101 分屏次屏。
WINDOW_MODE_FLOATING7+ 102 悬浮窗。

AbilityStartSetting

abilityStartSetting属性是一个定义为[key: string]: any的对象,key对应设定类型为:AbilityStartSetting枚举类型,value对应设定类型为:AbilityWindowConfiguration枚举类型。

使用时通过featureAbility.AbilityStartSetting获取。

示例:

featureAbility.AbilityStartSetting.BOUNDS_KEY

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel

名称 说明
BOUNDS_KEY7+ "abilityBounds" 窗口显示大小属性的参数名。
WINDOW_MODE_KEY7+ "windowMode" 窗口显示模式属性的参数名。
DISPLAY_ID_KEY7+ "displayId" 窗口显示设备ID属性的参数名。

ErrorCode

获取错误代码。

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel

名称 说明
NO_ERROR7+ 0 没有错误。
INVALID_PARAMETER7+ -1 无效的参数。
ABILITY_NOT_FOUND7+ -2 找不到能力。
PERMISSION_DENY7+ -3 拒绝许可。

DataAbilityOperationType

指示数据的操作类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel

名称 说明
TYPE_INSERT7+ 1 插入类型。
TYPE_UPDATE7+ 2 修改类型。
TYPE_DELETE7+ 3 删除类型。
TYPE_ASSERT7+ 4 声明类型。

flags说明

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

名称 说明
FLAG_AUTH_READ_URI_PERMISSION 0x00000001 指示对URI执行读取操作的授权。
FLAG_AUTH_WRITE_URI_PERMISSION 0x00000002 指示对URI执行写入操作的授权。
FLAG_ABILITY_FORWARD_RESULT 0x00000004 将结果返回给元能力。
FLAG_ABILITY_CONTINUATION 0x00000008 确定是否可以将本地设备上的功能迁移到远程设备。
FLAG_NOT_OHOS_COMPONENT 0x00000010 指定组件是否属于OHOS。
FLAG_ABILITY_FORM_ENABLED 0x00000020 指定是否启动某个能力。
FLAG_AUTH_PERSISTABLE_URI_PERMISSION 0x00000040 指示URI上可能持久化的授权。
系统API: 此接口为系统接口,三方应用不支持调用。
FLAG_AUTH_PREFIX_URI_PERMISSION 0x00000080 按照前缀匹配的方式验证URI权限。
系统API: 此接口为系统接口,三方应用不支持调用。
FLAG_ABILITYSLICE_MULTI_DEVICE 0x00000100 支持分布式调度系统中的多设备启动。
FLAG_START_FOREGROUND_ABILITY 0x00000200 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能。
系统API: 此接口为系统接口,三方应用不支持调用。
FLAG_ABILITY_CONTINUATION_REVERSIBLE 0x00000400 表示迁移是可拉回的。
FLAG_INSTALL_ON_DEMAND 0x00000800 如果未安装指定的功能,请安装该功能。
FLAG_INSTALL_WITH_BACKGROUND_MODE 0x80000000 如果未安装,使用后台模式安装该功能。
FLAG_ABILITY_CLEAR_MISSION 0x00008000 指示清除其他任务的操作。可以为传递给 ohos.app.ContextstartAbility方法的Want设置此标志,并且必须与flag_ABILITY_NEW_MISSION一起使用。
FLAG_ABILITY_NEW_MISSION 0x10000000 指示在历史任务堆栈上创建任务的操作。
FLAG_ABILITY_MISSION_TOP 0x20000000 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
其他
1
https://gitee.com/openharmony/docs.git
git@gitee.com:openharmony/docs.git
openharmony
docs
docs
OpenHarmony-3.2-Beta4

搜索帮助