1 鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-09 10:21 次阅读

particleAbility模块

particleAbility模块提供了Service类型Ability的能力,包括启动、停止指定的particleAbility,获取dataAbilityHelper,连接、断开当前Ability与指定ServiceAbility等。

说明:

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

使用限制

particleAbility模块用来对Data和Service类型的Ability进行操作。

导入模块

import particleAbility from '@ohos.ability.particleAbility'

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

particleAbility.startAbility

startAbility(parameter: StartAbilityParameter, callback: AsyncCallback): void

使用此方法启动指定的particleAbility(callback形式)。

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

参数

名称类型必填描述
parameter[StartAbilityParameter]指示启动的ability
callbackAsyncCallback被指定的回调方法

示例:

import particleAbility from '@ohos.ability.particleAbility'
import wantConstant from '@ohos.ability.wantConstant'
particleAbility.startAbility(
	{
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.Data",
            abilityName: "com.example.Data.MainAbility",
            uri:""
        },
    },
    (error, result) = > {
		console.log('particleAbility startAbility errCode:' + error + 'result:' + result)
    },
)

particleAbility.startAbility

startAbility(parameter: StartAbilityParameter): Promise;

使用此方法启动指定的particleAbility(Promise形式)。

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

参数:

名称类型必填描述
parameter[StartAbilityParameter]指示启动的ability

返回值:

类型说明
Promise使用Promise形式返回结果。

示例:

import particleAbility from '@ohos.ability.particleAbility'
import wantConstant from '@ohos.ability.wantConstant'
particleAbility.startAbility(
	{
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
            bundleName: "com.example.Data",
            abilityName: "com.example. Data.MainAbility",
            uri:""
        },
    },
).then((data) = > {
    console.info("particleAbility startAbility");
});

particleAbility.terminateSelf

terminateSelf(callback: AsyncCallback): void

终止particleAbility(callback形式)。

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

参数:

名称类型必填描述
callbackAsyncCallback表示被指定的回调方法

示例:

import particleAbility from '@ohos.ability.particleAbility'
particleAbility.terminateSelf(
    (error, result) = > {
		console.log('particleAbility terminateSelf errCode:' + error + 'result:' + result)
    }
)

particleAbility.terminateSelf

terminateSelf(): Promise

终止particleAbility(Promise形式)。

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

返回值:

类型说明
Promise使用Promise形式返回结果。

示例:

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

particleAbility.acquireDataAbilityHelper

acquireDataAbilityHelper(uri: string): DataAbilityHelper

获取dataAbilityHelper。

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

参数:

名称类型必填描述
uristring指示要打开的文件的路径。

返回值:

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

示例:

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

particleAbility.startBackgroundRunning

startBackgroundRunning(id: number, request: NotificationRequest, callback: AsyncCallback): void;

向系统申请长时任务,使用callback形式返回结果,建议使用新接口[backgroundTaskManager.startBackgroundRunning]

需要权限: ohos.permission.KEEP_BACKGROUND_RUNNING

系统能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

参数:

参数名类型必填说明
idnumber长时任务通知id号
requestNotificationRequest通知参数,用于显示通知栏的信息
callbackAsyncCallbackcallback形式返回启动长时任务的结果

示例

import notification from '@ohos.notification';
import particleAbility from '@ohos.ability.particleAbility';
import wantAgent from '@ohos.wantAgent';

function callback(err, data) {
    if (err) {
        console.error("Operation failed Cause: " + err);
    } else {
        console.info("Operation succeeded");
    }
}

let wantAgentInfo = {
    wants: [
        {
            bundleName: "com.example.myapplication",
            abilityName: "com.example.myapplication.MainAbility"
        }
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) = > {
    let basicContent = {
        title: "title",
        text: "text"
    };
    let notificationContent = {
        contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: basicContent
    };
    let request = {
        content: notificationContent,
        wantAgent: wantAgentObj
    };
    let id = 1;
    particleAbility.startBackgroundRunning(id, request, callback);
});

particleAbility.startBackgroundRunning

startBackgroundRunning(id: number, request: NotificationRequest): Promise

需要权限: ohos.permission.KEEP_BACKGROUND_RUNNING

系统能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

向系统申请长时任务,使用promise形式返回结果,建议使用新接口[backgroundTaskManager.startBackgroundRunning]

参数:

参数名类型必填说明
idnumber长时任务通知id号
requestNotificationRequest通知参数,用于显示通知栏的信息

返回值:

类型说明
Promise使用Promise形式返回结果。

示例

import notification from '@ohos.notification';
import particleAbility from '@ohos.ability.particleAbility';
import wantAgent from '@ohos.wantAgent';

let wantAgentInfo = {
    wants: [
        {
            bundleName: "com.example.myapplication",
            abilityName: "com.example.myapplication.MainAbility"
        }
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) = > {
    let basicContent = {
        title: "title",
        text: "text"
    };
    let notificationContent = {
        contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: basicContent
    };
    let request = {
        content: notificationContent,
        wantAgent: wantAgentObj
    };
    let id = 1;
    particleAbility.startBackgroundRunning(id, request).then(() = > {
        console.info("Operation succeeded");
    }).catch((err) = > {
        console.error("Operation failed Cause: " + err);
    });
});

particleAbility.cancelBackgroundRunning

cancelBackgroundRunning(callback: AsyncCallback): void;

向系统申请取消长时任务,使用callback形式返回结果,建议使用新接口[backgroundTaskManager.stopBackgroundRunning]

系统能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

参数:

参数名类型必填说明
callbackAsyncCallbackcallback形式返回启动长时任务的结果

示例

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

function callback(err, data) {
    if (err) {
        console.error("Operation failed Cause: " + err);
    } else {
        console.info("Operation succeeded");
    }
}

particleAbility.cancelBackgroundRunning(callback);

particleAbility.cancelBackgroundRunning

cancelBackgroundRunning(): Promise;

向系统申请取消长时任务,使用promise形式返回结果,建议使用新接口[backgroundTaskManager.stopBackgroundRunning]

系统能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

返回值:

类型说明
Promise使用Promise形式返回结果。

示例

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

particleAbility.cancelBackgroundRunning().then(() = > {
    console.info("Operation succeeded");
}).catch((err) = > {
    console.error("Operation failed Cause: " + err);
});

particleAbility.connectAbility

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

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

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

参数:

名称类型必填描述
request[Want])表示被连接的ServiceAbility。
optionsConnectOptions被指定的回调方法。

ConnectOptions类型说明:

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

名称读写属性类型必填描述
onConnect只读function连接成功时的回调函数。
onDisconnect只读function连接失败时的回调函数。
onFailed只读functionConnectAbility调用失败时的回调函数。

示例

import rpc from '@ohos.rpc'
        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('particleAbilityTest ConnectAbility onFailed errCode : ' + code)
        }
        var connId = particleAbility.connectAbility(
            {
                bundleName: "com.ix.ServiceAbility",
                abilityName: "ServiceAbilityA",
            },
            {
                onConnect: onConnectCallback,
                onDisconnect: onDisconnectCallback,
                onFailed: onFailedCallback,
            },
        );

        particleAbility.disconnectAbility(connId).then((data)= >{
            console.log( " data: " + data);
        }).catch((error)= >{
            console.log('particleAbilityTest result errCode : ' + error.code )
        });

particleAbility.disconnectAbility

disconnectAbility(connection: number, callback:AsyncCallback): void;

将功能与服务功能断开连接。

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

参数:

参数名类型必填说明
callbackAsyncCallbackcallback形式返回断开连接的结果

示例

import rpc from '@ohos.rpc'
 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('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).then((data)= >{
            console.log( " data: " + data);
        }).catch((error)= >{
            console.log('particleAbilityTest result errCode : ' + error.code )
        });

particleAbility.disconnectAbility

disconnectAbility(connection: number): Promise;

将功能与服务功能断开连接。

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

返回值:

类型说明
Promise使用Promise形式返回结果。

搜狗高速浏览器截图20240326151450.png

示例

import rpc from '@ohos.rpc'
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('particleAbilityTest ConnectAbility onFailed errCode : ' + code)
        }
        var connId = particleAbility.connectAbility(
            {
                bundleName: "com.ix.ServiceAbility",
                abilityName: "ServiceAbilityA",
            },
            {
                onConnect: onConnectCallback,
                onDisconnect: onDisconnectCallback,
                onFailed: onFailedCallback,
            },
        );

         particleAbility.disconnectAbility(connId).then((data)= >{
            console.log( " data: " + data);
        }).catch((error)= >{
            console.log('particleAbilityTest result errCode : ' + error.code )
        });

ErrorCode

获取错误代码。

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

变量说明
INVALID_PARAMETER-1无效的参数。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8574

    浏览量

    151011
  • 框架
    +关注

    关注

    0

    文章

    403

    浏览量

    17474
  • 鸿蒙
    +关注

    关注

    57

    文章

    2339

    浏览量

    42803
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模块提供对Ability生命周期、上下文环境等调用管理的能力,包括Ability创建、销毁、转储客户端信息等。
    的头像 发表于 04-30 17:42 2252次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@<b class='flag-5'>ohos.application.Ability</b> (<b class='flag-5'>Ability</b>)】

    鸿蒙开发接口Ability框架:【@ohos.ability.featureAbility (FeatureAbility模块)】

    FeatureAbility模块提供带有UI设计与用户交互的能力,包括启动新的ability、获取dataAbilityHelper、设置此Page Ability、获取当前Ability
    的头像 发表于 05-06 16:31 996次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@<b class='flag-5'>ohos.ability</b>.featureAbility (FeatureAbility<b class='flag-5'>模块</b>)】

    鸿蒙开发接口Ability框架:【@ohos.application.missionManager (missionManager)】

    表示Ability对应任务信息的枚举。
    的头像 发表于 05-08 09:19 886次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@<b class='flag-5'>ohos</b>.application.missionManager (missionManager)】

    鸿蒙开发接口Ability框架:【 (Context模块)】

    Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
    的头像 发表于 05-13 16:04 710次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context<b class='flag-5'>模块</b>)】

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

    AbilityContext是Ability的上下文环境,继承自Context。
    的头像 发表于 05-13 09:26 1001次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityContext)】

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

    AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达
    的头像 发表于 05-13 17:58 951次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityDelegator)】

    鸿蒙开发接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力。
    的头像 发表于 05-14 16:02 780次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】

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

    AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达
    的头像 发表于 05-16 16:48 929次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityDelegator】

    鸿蒙Ability开发-Stage模型下Ability的创建和使用

    ) ?? \'\'); }); } ... }; UIAbilityContext模块启动Ability的能力 UIAbilityContext模块提供允许访问特定Ability
    发表于 01-08 15:34

    使用FeatureAbility模块启动其他Ability

    。使用featureAbility模块需要先在具体的业务逻辑界面使用以下代码引入模块:import featureAbility from '@ohos.ability
    发表于 09-02 15:04

    HarmonyOS/OpenHarmony应用开发-ArkTS的Ability基类

    在Stage模型下使用。导入模块:import Ability from '@ohos.app.ability.Ability';接口说明:Abil
    发表于 03-09 15:11

    鸿蒙之@ohos.app.ability.appRecovery (appRecovery)

    Ability的应用恢复。 导入模块 import appRecovery from ‘@ohos.app.ability.appRecovery’; appRecovery.RestartFlag
    的头像 发表于 02-20 16:28 442次阅读

    鸿蒙开发接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力。
    的头像 发表于 05-17 17:12 312次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】

    鸿蒙Ability Kit(程序框架服务)【Ability内页面间的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 295次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> Kit(程序<b class='flag-5'>框架</b>服务)【<b class='flag-5'>Ability</b>内页面间的跳转】

    鸿蒙Ability Kit(程序框架服务)【Ability与ServiceExtensionAbility通信】

    本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
    的头像 发表于 06-05 09:28 479次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> Kit(程序<b class='flag-5'>框架</b>服务)【<b class='flag-5'>Ability</b>与ServiceExtensionAbility通信】