卡片事件能力說明

2024-01-25 12:20 更新

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

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

接口參數(shù)說明:

參數(shù)名

參數(shù)類型

必填

參數(shù)描述

component

Object

當(dāng)前自定義組件的實(shí)例,通常傳入this。

action

Object

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

action參數(shù)說明:

Key

Value

樣例描述

"action"

string

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

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

"bundleName"

string

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

"moduleName"

string

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

"abilityName"

string

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

"params"

Object

當(dāng)前action攜帶的額外參數(shù),內(nèi)容使用JSON格式的鍵值對(duì)形式。"call"類型時(shí)需填入?yún)?shù)'method',且類型需要為string類型,用于觸發(fā)UIAbility中對(duì)應(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('拉至后臺(tái)')
  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. })

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)