ParticleAbility模块(JS端SDK接口)

About 7 min

ParticleAbility模块(JS端SDK接口)

支持设备

API 手机 平板 智慧屏 智能穿戴 轻量级智能穿戴 智慧视觉设备
ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<void> 支持 支持 支持 支持 不支持 不支持
ParticleAbility.startAbility(parameter: StartAbilityParameter) 支持 支持 支持 支持 不支持 不支持
ParticleAbility.terminateSelf(callback: AsyncCallback<void>) 支持 支持 支持 支持 不支持 不支持
ParticleAbility.terminateSelf() 支持 支持 支持 支持 不支持 不支持
ParticleAbility.acquireDataAbilityHelper(uri: string) 支持 支持 支持 支持 不支持 不支持

权限列表

ohos.permission.RUNNING_LOCK permission

使用限制

ParticleAbility模块的接口只能在Ability为Data和Service类型的时候进行调用

导入模块

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

ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<void>

  • 接口说明

    服务ability使用此方法启动特定ability(callback形式)

  • startAbility参数描述

名称 读写属性 类型 必填 描述
parameter 只读 StartAbilityParameter 指示启动的ability
callback 只读 AsyncCallback<void> 被指定的回调方法
  • StartAbilityParameter类型说明
名称 读写属性 类型 必填 描述
want 只读 want 表示需要包含有关目标启动能力的信息
abilityStartSetting 只读 string 指示启动能力中使用的特殊启动设置
  • want类型说明
名称 读写属性 类型 必填 描述
deviceId 只读 string 设备id
bundleName 只读 string 捆绑包名称
abilityName 只读 string ability 名字
uri 只读 string 请求中URI的描述
type 只读 string 此文件中类型的说明
flags 只读 number 此文件中标志的选项是必需的
action 只读 string 需求中对操作的描述
parameters 只读 string Want中WantParams对象的描述
entities 只读 string 对象中实体的描述
  • flags类型说明

    名称 参数 描述
    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上可能持久化的授权
    FLAG_AUTH_PREFIX_URI_PERMISSION 0x00000080 将结果返回到源能力片
    FLAG_ABILITYSLICE_MULTI_DEVICE 0x00000100 支持分布式调度系统中的多设备启动
    FLAG_START_FOREGROUND_ABILITY 0x00000200 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能
    FLAG_ABILITY_CONTINUATION_REVERSIBLE 0x00000400 表示延续是可逆的。
    FLAG_INSTALL_ON_DEMAND 0x00000800 如果未安装指定的功能,请安装该功能
    FLAG_INSTALL_WITH_BACKGROUND_MODE 0x80000000 如果未安装,请使用后台模式安装指定的DI功能。
    FLAG_ABILITY_CLEAR_MISSION 0x00008000 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用
    FLAG_ABILITY_NEW_MISSION 0x10000000 指示在历史任务堆栈上创建任务的操作。
    FLAG_ABILITY_MISSION_TOP 0x20000000 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。
  • 返回值

    void

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
particleAbility.startAbility(
	{
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: FLAG_AUTH_READ_URI_PERMISSION;
            deviceId: "",
            bundleName: "com.example.Data",
            abilityName: "com.jstest.startabilitytest5.MainAbility",
            uri:""
        },
    },
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

ParticleAbility.startAbility(parameter: StartAbilityParameter)

  • 接口说明 服务ability使用此方法启动特定ability((Promise形式)
  • startAbility参数描述
名称 读写属性 类型 必填 描述
parameter 只读 StartAbilityParameter 指示启动的ability
  • StartAbilityParameter类型说明
名称 读写属性 类型 必填 描述
want 只读 want 表示需要包含有关目标启动能力的信息
abilityStartSetting 只读 string 指示启动能力中使用的特殊启动设置
  • want类型说明
名称 读写属性 类型 必填 描述
deviceId 只读 string 设备id
bundleName 只读 string 捆绑包名称
abilityName 只读 string ability 名字
uri 只读 string 请求中URI的描述
type 只读 string 此文件中类型的说明
flags 只读 number 此文件中标志的选项是必需的
action 只读 string 需求中对操作的描述
parameters 只读 string Want中WantParams对象的描述
entities 只读 string 对象中实体的描述
  • flags类型说明

    名称 参数 描述
    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上可能持久化的授权
    FLAG_AUTH_PREFIX_URI_PERMISSION 0x00000080 将结果返回到源能力片
    FLAG_ABILITYSLICE_MULTI_DEVICE 0x00000100 支持分布式调度系统中的多设备启动
    FLAG_START_FOREGROUND_ABILITY 0x00000200 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能
    FLAG_ABILITY_CONTINUATION_REVERSIBLE 0x00000400 表示延续是可逆的。
    FLAG_INSTALL_ON_DEMAND 0x00000800 如果未安装指定的功能,请安装该功能
    FLAG_INSTALL_WITH_BACKGROUND_MODE 0x80000000 如果未安装,请使用后台模式安装指定的DI功能。
    FLAG_ABILITY_CLEAR_MISSION 0x00008000 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用
    FLAG_ABILITY_NEW_MISSION 0x10000000 指示在历史任务堆栈上创建任务的操作。
    FLAG_ABILITY_MISSION_TOP 0x20000000 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。
  • 返回值

    void

  • 示例

import featureAbility from '@ohos.ability.featureAbility'
import particleAbility from '@ohos.ability.particleAbility'
var windowMode = featureAbility.AbilityStartSetting.WINDOW_MODE_KEY;
particleAbility.startAbility(
      want:
       {
            bundleName: "com.jstest.featureabilitytest",
            abilityName: "com.jstest.startabilitytest1.MainAbility",
            },
            abilityStartSetting:
        {
            windowMode: featureAbility.AbilityWindowConfiguration.WINDOW_MODE_FLOATING,
        },
       }

		).then((void) => {
		console.info("==========================>startAbilityCallback=======================>");
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

ParticleAbility.terminateSelf(callback: AsyncCallback<void>)

  • 接口说明

    摧毁服务ability(callback形式)

  • terminateSelf参数描述

    名称 读写属性 类型 必填 描述
    callback 只读 AsyncCallback<void> 表示被指定的回调方法
  • 返回值

    void

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
ParticleAbility.terminateSelf()
1
2

ParticleAbility.terminateSelf()

  • 接口说明

    摧毁服务ability(Promise形式)

  • 返回值

    void

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
particleAbility.terminateSelf().then((void) => {
		console.info("==========================>terminateSelfCallback=======================>");
});
1
2
3
4

ParticleAbility.acquireDataAbilityHelper(uri: string)

  • 接口说明

    获取dataAbilityHelper

  • acquireDataAbilityHelper参数描述

    名称 读写属性 类型 必填 描述
    uri 只读 string 指示要打开的文件的路径
  • 返回值

    返回dataAbilityHelper

  • 示例

import particleAbility from '@ohos.ability.particleAbility'     
var uri = "";
ParticleAbility.acquireDataAbilityHelper(uri)
1
2
3

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

  • 接口说明

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

  • connectAbility参数描述

名称 读写属性 类型 必填 描述
request 只读 Want 表示被连接的ServiceAbility
options 只读 ConnectOptions 被指定的回调方法
  • ConnectOptions类型说明
名称 读写属性 类型 必填 描述
onConnect 只读 function 连接成功时的回调函数
onDisconnect 只读 function 连接失败时的回调函数
onFailed 只读 function ConnectAbility调用失败时的回调函数
  • 返回值

    连接的ServiceAbilityID。

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
var mRemote;
var connId;
function onConnectCallback(element, remote){
    mRemote = 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('particleAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = particleAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

ParticleAbility.disconnectAbility(connection: number, callback:AsyncCallback): void

  • 接口说明

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

  • disconnectAbility参数描述

名称 读写属性 类型 必填 描述
connection 只读 number 指定断开连接的ServiceAbilityID
callback 只读 AsyncCallback 被指定的回调方法
  • 返回值

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
var mRemote;
var connId;
function onConnectCallback(element, remote){
    mRemote = 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('particleAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = particleAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
var result = particleAbility.disconnectAbility(connId,
    (error,data) => {
    console.log('particleAbilityTest DisConnectJsSameBundleName result errCode : ' + error.code + " data: " + data)
    },
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

ParticleAbility.disconnectAbility(connection: number): Promise;

  • 接口说明

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

  • disconnectAbility参数描述

名称 读写属性 类型 必填 描述
connection 只读 number 指定断开连接的ServiceAbilityID
  • 返回值

  • 示例

import particleAbility from '@ohos.ability.particleAbility'
var mRemote;
var connId;
function onConnectCallback(element, remote){
    mRemote = 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('particleAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = particleAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
var result = await particleAbility.disconnectAbility(connId);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25