卡片事件能力說明

2024-01-25 12:20 更新

ArkTS卡片中提供了postCardAction()接口用于卡片內(nèi)部和提供方應(yīng)用間的交互,當前支持router、message和call三種類型的事件,僅在卡片中可以調(diào)用。

接口定義:postCardAction(component: Object, action: Object): void

接口參數(shù)說明:

參數(shù)名

參數(shù)類型

必填

參數(shù)描述

component

Object

當前自定義組件的實例,通常傳入this。

action

Object

action的具體描述,詳情見下表。

action參數(shù)說明:

Key

Value

樣例描述

"action"

string

action的類型,支持三種預(yù)定義的類型:

  • "router":跳轉(zhuǎn)到提供方應(yīng)用的指定UIAbility。
  • "message":自定義消息。觸發(fā)后會調(diào)用提供方FormExtensionAbility的onFormEvent()生命周期回調(diào)。
  • "call":后臺啟動提供方應(yīng)用。觸發(fā)后會拉起提供方應(yīng)用的指定UIAbility(僅支持launchType為singleton的UIAbility,即啟動模式為單實例的UIAbility),但不會調(diào)度到前臺。提供方應(yīng)用需要具備后臺運行權(quán)限(ohos.permission.KEEP_BACKGROUND_RUNNING)。

"bundleName"

string

"router" / "call" 類型時跳轉(zhuǎn)的包名,可選。

"moduleName"

string

"router" / "call" 類型時跳轉(zhuǎn)的模塊名,可選。

"abilityName"

string

"router" / "call" 類型時跳轉(zhuǎn)的UIAbility名,必填。

"params"

Object

當前action攜帶的額外參數(shù),內(nèi)容使用JSON格式的鍵值對形式。"call"類型時需填入?yún)?shù)'method',且類型需要為string類型,用于觸發(fā)UIAbility中對應(yīng)的方法,必填。

postCardAction()接口示例代碼:

  1. Button('跳轉(zhuǎn)')
  2. .width('40%')
  3. .height('20%')
  4. .onClick(() => {
  5. postCardAction(this, {
  6. 'action': 'router',
  7. 'bundleName': 'com.example.myapplication',
  8. 'abilityName': 'EntryAbility',
  9. 'params': {
  10. 'message': 'testForRouter' // 自定義要發(fā)送的message
  11. }
  12. });
  13. })
  1. Button('拉至后臺')
  2. .width('40%')
  3. .height('20%')
  4. .onClick(() => {
  5. postCardAction(this, {
  6. 'action': 'call',
  7. 'bundleName': 'com.example.myapplication',
  8. 'abilityName': 'EntryAbility',
  9. 'params': {
  10. 'method': 'fun', // 自定義調(diào)用的方法名,必填
  11. 'message': 'testForCall' // 自定義要發(fā)送的message
  12. }
  13. });
  14. })

以下介紹通過卡片事件實現(xiàn)的典型開發(fā)場景。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號