0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)接口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開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
本模塊接口僅可在FA模型下使用。

使用限制

particleAbility模塊用來對Data和Service類型的Ability進行操作。

導入模塊

import particleAbility from '@ohos.ability.particleAbility'

開發(fā)前請熟悉鴻蒙開發(fā)指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

particleAbility.startAbility

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

使用此方法啟動指定的particleAbility(callback形式)。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù)

名稱類型必填描述
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形式)。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù):

名稱類型必填描述
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形式)。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù):

名稱類型必填描述
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形式)。

系統(tǒng)能力 :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。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù):

名稱類型必填描述
uristring指示要打開的文件的路徑。

返回值:

類型說明
DataAbilityHelper用來協(xié)助其他Ability訪問DataAbility的工具類。

示例:

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

particleAbility.startBackgroundRunning

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

向系統(tǒng)申請長時任務,使用callback形式返回結果,建議使用新接口[backgroundTaskManager.startBackgroundRunning]

需要權限: ohos.permission.KEEP_BACKGROUND_RUNNING

系統(tǒng)能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

參數(shù):

參數(shù)名類型必填說明
idnumber長時任務通知id號
requestNotificationRequest通知參數(shù),用于顯示通知欄的信息
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

系統(tǒng)能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

向系統(tǒng)申請長時任務,使用promise形式返回結果,建議使用新接口[backgroundTaskManager.startBackgroundRunning]

參數(shù):

參數(shù)名類型必填說明
idnumber長時任務通知id號
requestNotificationRequest通知參數(shù),用于顯示通知欄的信息

返回值:

類型說明
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;

向系統(tǒng)申請取消長時任務,使用callback形式返回結果,建議使用新接口[backgroundTaskManager.stopBackgroundRunning]

系統(tǒng)能力 :SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

參數(shù):

參數(shù)名類型必填說明
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;

向系統(tǒng)申請取消長時任務,使用promise形式返回結果,建議使用新接口[backgroundTaskManager.stopBackgroundRunning]

系統(tǒng)能力 :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形式)。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù):

名稱類型必填描述
request[Want])表示被連接的ServiceAbility。
optionsConnectOptions被指定的回調方法。

ConnectOptions類型說明:

系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱讀寫屬性類型必填描述
onConnect只讀function連接成功時的回調函數(shù)。
onDisconnect只讀function連接失敗時的回調函數(shù)。
onFailed只讀functionConnectAbility調用失敗時的回調函數(shù)。

示例

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;

將功能與服務功能斷開連接。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

參數(shù):

參數(shù)名類型必填說明
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;

將功能與服務功能斷開連接。

系統(tǒng)能力 :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

獲取錯誤代碼。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.FAModel

變量說明
INVALID_PARAMETER-1無效的參數(shù)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8254

    瀏覽量

    149947
  • 框架
    +關注

    關注

    0

    文章

    396

    瀏覽量

    17266
  • 鴻蒙
    +關注

    關注

    56

    文章

    2267

    瀏覽量

    42481
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模塊提供對Ability生命周期、上下文環(huán)境等調用管理的能力,包括Ability創(chuàng)建、銷毀、轉儲客戶端信息等。
    的頭像 發(fā)表于 04-30 17:42 ?2115次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>)】

    鴻蒙開發(fā)接口Ability框架:【@ohos.ability.featureAbility (FeatureAbility模塊)】

    FeatureAbility模塊提供帶有UI設計與用戶交互的能力,包括啟動新的ability、獲取dataAbilityHelper、設置此Page Ability、獲取當前Ability
    的頭像 發(fā)表于 05-06 16:31 ?817次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>)】

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.missionManager (missionManager)】

    表示Ability對應任務信息的枚舉。
    的頭像 發(fā)表于 05-08 09:19 ?785次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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)】

    鴻蒙開發(fā)接口Ability框架:【 (Context模塊)】

    Context模塊提供了ability或application的上下文的能力,包括允許訪問特定于應用程序的資源、請求和驗證權限等。
    的頭像 發(fā)表于 05-13 16:04 ?555次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context<b class='flag-5'>模塊</b>)】

    鴻蒙開發(fā)接口Ability框架:【(AbilityContext)】

    AbilityContext是Ability的上下文環(huán)境,繼承自Context。
    的頭像 發(fā)表于 05-13 09:26 ?826次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityContext)】

    鴻蒙開發(fā)接口Ability框架:【(AbilityDelegator)】

    AbilityDelegator提供添加用于監(jiān)視指定能力的生命周期狀態(tài)更改的AbilityMonitor對象的能力,包括對AbilityMonitor實例的添加、刪除、等待ability到達
    的頭像 發(fā)表于 05-13 17:58 ?844次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityDelegator)】

    鴻蒙開發(fā)接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模塊提供對Ability運行的相關信息和狀態(tài)進行設置和查詢的能力。
    的頭像 發(fā)表于 05-14 16:02 ?675次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】

    鴻蒙開發(fā)接口Ability框架:【AbilityDelegator】

    AbilityDelegator提供添加用于監(jiān)視指定能力的生命周期狀態(tài)更改的AbilityMonitor對象的能力,包括對AbilityMonitor實例的添加、刪除、等待ability到達
    的頭像 發(fā)表于 05-16 16:48 ?836次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityDelegator】

    鴻蒙Ability開發(fā)-Stage模型下Ability的創(chuàng)建和使用

    ) ?? \'\'); }); } ... }; UIAbilityContext模塊啟動Ability的能力 UIAbilityContext模塊提供允許訪問特定Ability
    發(fā)表于 01-08 15:34

    使用FeatureAbility模塊啟動其他Ability

    。使用featureAbility模塊需要先在具體的業(yè)務邏輯界面使用以下代碼引入模塊:import featureAbility from '@ohos.ability
    發(fā)表于 09-02 15:04

    HarmonyOS/OpenHarmony應用開發(fā)-ArkTS的Ability基類

    在Stage模型下使用。導入模塊:import Ability from '@ohos.app.ability.Ability';接口說明:Abil
    發(fā)表于 03-09 15:11

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

    Ability的應用恢復。 導入模塊 import appRecovery from ‘@ohos.app.ability.appRecovery’; appRecovery.RestartFlag
    的頭像 發(fā)表于 02-20 16:28 ?351次閱讀

    鴻蒙開發(fā)接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模塊提供對Ability運行的相關信息和狀態(tài)進行設置和查詢的能力。
    的頭像 發(fā)表于 05-17 17:12 ?238次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】

    鴻蒙Ability Kit(程序框架服務)【Ability內(nèi)頁面間的跳轉】

    基于Stage模型下的Ability開發(fā),實現(xiàn)Ability內(nèi)頁面間的跳轉和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 06-03 20:43 ?185次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> Kit(程序<b class='flag-5'>框架</b>服務)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉】

    鴻蒙Ability Kit(程序框架服務)【Ability與ServiceExtensionAbility通信】

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現(xiàn)了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發(fā)表于 06-05 09:28 ?344次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> Kit(程序<b class='flag-5'>框架</b>服務)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】