1# postCardAction 2 3用于卡片内部和提供方应用间的交互,当前支持router、message和call三种类型的事件,仅在卡片中可以调用。 4 5> **说明:** 6> 7> 本接口从API version 9开始支持。 8 9## postCardAction 10 11postCardAction(component: Object, action: Object): void 12 13执行函数内部的交互,处理component和action对象的相关操作,不返回任何内容。 14 15**元服务API:** 从API version 11开始,该接口支持在元服务中使用。 16 17**系统能力:** SystemCapability.ArkUI.ArkUI.Full 18 19**参数:** 20 21 22| **参数名** | **类型** | **必填** | **说明** | 23| -------- | -------- | -------- | -------- | 24| component | Object | 是 | 当前自定义组件的实例,通常传入this。 | 25| action | Object | 是 | action的具体描述,详情见下表。 | 26 27 28action参数说明: 29 30 31| **参数名** | **类型** | **必填** | **取值说明** | 32| -------- | -------- | -------- | -------- | 33| action | string | 是 |action的类型,支持三种预定义的类型:<br/>- router:跳转到提供方应用的指定UIAbility。<br/>- message:自定义消息,触发后会调用提供方FormExtensionAbility的[onFormEvent()](../apis-form-kit/js-apis-app-form-formExtensionAbility.md#onformevent)生命周期回调。<br/>- call:后台启动提供方应用。触发后会拉起提供方应用的指定UIAbility(仅支持launchType为singleton的[UIAbility](../../application-models/uiability-launch-type.md),即启动模式为单实例的UIAbility),但不会调度到前台。提供方应用需要具备后台运行权限([ohos.permission.KEEP_BACKGROUND_RUNNING](../../security/AccessToken/permissions-for-all.md#ohospermissionkeep_background_running))。 | 34| bundleName | string | 否 | action为router / call 类型时跳转的包名。 | 35| moduleName | string | 否 | action为router / call 类型时跳转的模块名。 | 36| abilityName | string | 否 | action为router / call 类型时跳转的UIAbility名。 | 37| uri<sup>11+</sup> | string | 否 | action为router 类型时跳转的UIAbility的统一资源标识符。uri和abilityName同时存在时,abilityName优先。 | 38| params | Object | 否 | 当前action携带的额外参数,内容使用JSON格式的键值对形式。 | 39 40>**说明:** 41> 42>"action"为"call" 类型时,"params"需填入参数'method',且类型需为string类型,用于触发UIAbility中对应的方法。 43 44**示例:** 45 46<!--code_no_check--> 47 48```ts 49Button('跳转') 50 .width('40%') 51 .height('20%') 52 .onClick(() => { 53 postCardAction(this, { 54 action: 'router', 55 bundleName: 'com.example.myapplication', 56 abilityName: 'EntryAbility', 57 params: { 58 message: 'testForRouter' // 自定义要发送的message 59 } 60 }); 61 }) 62 63Button('拉至后台') 64 .width('40%') 65 .height('20%') 66 .onClick(() => { 67 postCardAction(this, { 68 action: 'call', 69 bundleName: 'com.example.myapplication', 70 abilityName: 'EntryAbility', 71 params: { 72 method: 'fun', // 自定义调用的方法名,必填 73 message: 'testForCall' // 自定义要发送的message 74 } 75 }); 76 }) 77 78Button('URI跳转') 79 .width('40%') 80 .height('20%') 81 .onClick(() => { 82 postCardAction(this, { 83 action: 'router', 84 uri: 'example://uri.ohos.com/link_page', 85 params: { 86 message: 'router msg for dynamic uri deeplink' // 自定义要发送的message 87 } 88 }); 89 }) 90 91``` 92 93**待跳转应用 [module.json5](../../quick-start/module-configuration-file.md#skills标签) uris 配置示例:** 94 95```json 96"abilities": [ 97 { 98 "skills": [ 99 { 100 "uris": [ 101 { 102 "scheme": "example", 103 "host": "uri.ohos.com", 104 "path": "link_page" 105 }, 106 ] 107 } 108 ], 109 } 110] 111``` 112