鸿蒙开发接口Ability框架:【(AbilityDelegator)】

电子说

1.3w人已加入

描述

AbilityDelegator

AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。

说明:

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

使用说明

开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

通过AbilityDelegatorRegistry中getAbilityDelegator方法获取。

import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'

var abilityDelegator;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();

AbilityDelegator

addAbilityMonitor9+

addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

添加AbilityMonitor实例(callback形式)

**系统能力:**SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明说明
monitor[AbilityMonitor][AbilityMonitor]实例
callbackAsyncCallback表示指定的回调方法

示例:

var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor, (err : any) = > {
    console.info("addAbilityMonitor callback");
});

addAbilityMonitor9+

addAbilityMonitor(monitor: AbilityMonitor): Promise

添加AbilityMonitor实例(promise形式)

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

参数:

参数名类型必填说明
monitor[AbilityMonitor][AbilityMonitor]实例

返回值:

类型说明
Promise以Promise形式返回。

示例:

var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor).then(() = > {
    console.info("addAbilityMonitor promise");
});

removeAbilityMonitor9+

removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

删除已经添加的AbilityMonitor实例(callback形式)

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

参数:

参数名类型必填说明
monitor[AbilityMonitor][AbilityMonitor]实例
callbackAsyncCallback表示指定的回调方法

示例:

var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor, (err : any) = > {
    console.info("removeAbilityMonitor callback");
});

removeAbilityMonitor9+

removeAbilityMonitor(monitor: AbilityMonitor): Promise

删除已经添加的AbilityMonitor实例(promise形式)

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

参数:

名称类型必填说明
monitor[AbilityMonitor]实例

返回值:

类型说明
Promise以Promise形式返回。
  • 示例
var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor).then(() = > {
    console.info("removeAbilityMonitor promise");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)

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

参数:

参数名类型必填说明
monitor[AbilityMonitor][AbilityMonitor]实例
callbackAsyncCallback[[Ability]表示指定的回调方法

示例:

var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) = > {
    console.info("waitAbilityMonitor callback");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback): void

设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)

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

参数:

参数名类型必填说明
monitor[AbilityMonitor][AbilityMonitor]实例
timeoutnumber最大等待时间,单位毫秒(ms)
callbackAsyncCallback[[Ability]表示指定的回调方法

示例:

var abilityDelegator;
var timeout = 100;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) = > {
    console.info("waitAbilityMonitor callback");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise

设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式)

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

参数:

参数名类型必填说明
monitor[AbilityMonitor][AbilityMonitor]实例
timeoutnumber最大等待时间,单位毫秒(ms)

返回值:

类型说明
Promise[[Ability]](%5BAbility%5D以Promise形式返回Ability。

示例:

var abilityDelegator;

function onAbilityCreateCallback(data) {
    console.info("onAbilityCreateCallback");
}

var monitor = {
    abilityName: "abilityname",
    onAbilityCreate: onAbilityCreateCallback
}

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor).then((data : any) = > {
    console.info("waitAbilityMonitor promise");
});

getAppContext9+

getAppContext(): Context

获取应用Context

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

返回值:

类型说明
[Context]应用[Context])。

示例:

var abilityDelegator;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
var context = abilityDelegator.getAppContext();

getAbilityState9+

getAbilityState(ability: Ability): number

获取指定ability的生命周期状态

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

参数:

参数名类型必填说明
ability[Ability]指定Ability对象

返回值:

类型说明
number指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState]。

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
    var state = abilityDelegator.getAbilityState(ability);
    console.info("getAbilityState" + state);
});

getCurrentTopAbility9+

getCurrentTopAbility(callback: AsyncCallback): void

获取当前应用顶部ability(callback形式)

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

参数:

参数名类型必填说明
callbackAsyncCallback[[Ability]表示指定的回调方法

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
});

getCurrentTopAbility9+

getCurrentTopAbility(): Promise

获取当前应用顶部ability(promise形式)

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

返回值:

类型说明
Promise[[Ability]以Promise形式返回当前应用顶部ability。

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility().then((data : any) = > {
    console.info("getCurrentTopAbility promise");
    ability = data;
});

startAbility9+

startAbility(want: Want, callback: AsyncCallback): void

启动指定ability(callback形式)

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

参数:

参数名类型必填说明
want[Want]启动Ability参数
callbackAsyncCallback表示指定的回调方法

示例:

var abilityDelegator;
var want = {
    bundleName: "bundleName",
    abilityName: "abilityName"
};

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.startAbility(want, (err : any, data : any) = > {
    console.info("startAbility callback");
});

startAbility9+

startAbility(want: Want): Promise

启动指定ability(promise形式)

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

参数:

参数名类型必填说明
want[Want]启动Ability参数

返回值:

类型说明
Promise以Promise形式返回。

示例:

var abilityDelegator;
var want = {
    bundleName: "bundleName",
    abilityName: "abilityName"
};

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.startAbility(want).then((data: any) = > {
    console.info("startAbility promise");
});

doAbilityForeground9+

doAbilityForeground(ability: Ability, callback: AsyncCallback): void

调度指定ability生命周期状态到Foreground状态(callback形式)

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

参数:

参数名类型必填说明
abilityAbility指定Ability对象
callbackAsyncCallback表示指定的回调方法 - true:成功 - false:失败

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
    abilityDelegator.doAbilityForeground(ability, (err : any, data : any) = > {
        console.info("doAbilityForeground callback");
    });
});

doAbilityForeground9+

doAbilityForeground(ability: Ability): Promise

调度指定ability生命周期状态到Foreground状态(promise形式)

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

参数:

参数名类型必填说明
abilityAbility指定Ability对象

返回值:

类型说明
Promise以Promise形式返回执行结果。 - true:成功 - false:失败

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
    abilityDelegator.doAbilityForeground(ability).then((data : any) = > {
        console.info("doAbilityForeground promise");
    });
});

doAbilityBackground9+

doAbilityBackground(ability: Ability, callback: AsyncCallback): void

调度指定ability生命周期状态到Background状态(callback形式)

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

参数:

参数名类型必填说明
abilityAbility指定Ability对象
callbackAsyncCallback表示指定的回调方法 - true:成功 - false:失败

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
    abilityDelegator.doAbilityBackground(ability, (err : any, data : any) = > {
        console.info("doAbilityBackground callback");
    });
});

doAbilityBackground9+

doAbilityBackground(ability: Ability): Promise

调度指定ability生命周期状态到Background状态(promise形式)

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

参数:

参数名类型必填说明
abilityAbility指定Ability对象

返回值:

类型说明
Promise以Promise形式返回执行结果。 - true:成功 - false:失败

示例:

var abilityDelegator;
var ability;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) = > {
    console.info("getCurrentTopAbility callback");
    ability = data;
    abilityDelegator.doAbilityBackground(ability).then((data : any) = > {
        console.info("doAbilityBackground promise");
    });
});

print

print(msg: string, callback: AsyncCallback): void

打印日志信息到单元测试终端控制台(callback形式)

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

参数:

参数名类型必填说明
msgstring日志字符串
callbackAsyncCallback表示指定的回调方法

示例:

var abilityDelegator;
var msg = "msg";

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg, (err : any) = > {
    console.info("print callback");
});

print

print(msg: string): Promise

打印日志信息到单元测试终端控制台(promise形式)

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

参数:

参数名类型必填说明
msgstring日志字符串

返回值:

类型说明
Promise以Promise形式返回。

示例:

var abilityDelegator;
var msg = "msg";

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg).then(() = > {
    console.info("print promise");
});

executeShellCommand

executeShellCommand(cmd: string, callback: AsyncCallback): void

执行指定的shell命令(callback形式)

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

参数:

参数名类型必填说明
cmdstringshell命令字符串
callbackAsyncCallback[[ShellCmdResult])表示指定的回调方法

示例:

var abilityDelegator;
var cmd = "cmd";

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, (err : any, data : any) = > {
    console.info("executeShellCommand callback");
});

executeShellCommand

executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback): void

指定超时时间,并执行指定的shell命令(callback形式)

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

参数:

参数名类型必填说明
cmdstringshell命令字符串
timeoutSecsnumber设定命令超时时间,单位秒(s)
callbackAsyncCallback[[ShellCmdResult])表示指定的回调方法

示例:

var abilityDelegator;
var cmd = "cmd";
var timeout = 100;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout, (err : any, data : any) = > {
    console.info("executeShellCommand callback");
});

executeShellCommand

executeShellCommand(cmd: string, timeoutSecs?: number): Promise

指定超时时间,并执行指定的shell命令(promise形式)

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

参数:

参数名类型必填说明
cmdstringshell命令字符串
timeoutSecsnumber设定命令超时时间,单位秒(s)

返回值:

类型说明
Promise[ShellCmdResult]以Promise形式返回Shell命令执行结果[ShellCmdResult]对象。

示例:

var abilityDelegator;
var cmd = "cmd";
var timeout = 100;

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout).then((data : any) = > {
    console.info("executeShellCommand promise");
});

finishTest9+

finishTest(msg: string, code: number, callback: AsyncCallback): void

结束测试并打印日志信息到单元测试终端控制台(callback形式)

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

参数:

参数名类型必填说明
msgstring日志字符串
codenumber日志码
callbackAsyncCallback表示指定的回调方法

示例:

var abilityDelegator;
var msg = "msg";

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0, (err : any) = > {
    console.info("finishTest callback");
});

finishTest9+

finishTest(msg: string, code: number): Promise

结束测试并打印日志信息到单元测试终端控制台(promise形式)

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

参数:

参数名类型必填说明
msgstring日志字符串
codenumber日志码

返回值:

类型说明
Promise以Promise形式返回。

鸿蒙
示例:

var abilityDelegator;
var msg = "msg";

abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0).then(() = > {
    console.info("finishTest promise");
});

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分