1# FormExtensionContext 2 3FormExtensionContext模块是FormExtension的上下文环境,继承自ExtensionContext。 4 5FormExtensionContext模块提供FormExtension具有的接口和能力。 6 7> **说明:** 8> 9> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10> 本模块接口仅可在Stage模型下使用。 11 12## 使用说明 13 14在使用FormExtensionContext的功能前,需要通过FormExtension获取。 15 16```ts 17import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility'; 18import formBindingData from '@ohos.app.form.formBindingData'; 19export default class MyFormExtensionAbility extends FormExtensionAbility { 20 onAddForm() { 21 let formContext = this.context; // 获取FormExtensionContext 22 // ... 23 let dataObj1 = { 24 temperature:'11c', 25 'time':'11:00' 26 }; 27 let obj1 = formBindingData.createFormBindingData(dataObj1); 28 return obj1; 29 } 30} 31``` 32 33## startAbility 34 35startAbility(want: Want, callback: AsyncCallback<void>): void 36 37拉起一个卡片所属应用的Ability。使用callback异步回调。 38 39**系统接口**:此接口为系统接口。 40 41**系统能力**:SystemCapability.Ability.Form 42 43**参数:** 44 45| 参数名 | 类型 | 必填 | 说明 | 46| ------| --------------------------------- | ---- | -------------------------------------- | 47| want| [Want](js-apis-application-want.md) | 是 | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 | 48| callback| AsyncCallback<void> | 是 | 回调函数。当拉起一个卡片所属应用的Ability成功,err为undefined,否则为错误对象。 | 49 50**示例:** 51 52```ts 53let want = { 54 deviceId: '', 55 bundleName: 'com.example.formstartability', 56 abilityName: 'MainAbility', 57 action: 'action1', 58 entities: ['entity1'], 59 type: 'MIMETYPE', 60 uri: 'key={true,true,false}', 61 parameters: {} 62}; 63this.context.startAbility(want, (error, data) => { 64 if (error) { 65 console.log('FormExtensionContext startAbility, error:' + JSON.stringify(error)); 66 } else { 67 console.log(`FormExtensionContext startAbility success`); 68 } 69}); 70``` 71 72## startAbility 73 74startAbility(want: Want): Promise<void> 75 76拉起一个卡片所属应用的Ability。使用Promise异步回调。 77 78**系统接口**:此接口为系统接口。 79 80**系统能力**:SystemCapability.Ability.Form 81 82**参数:** 83 84| 参数名 | 类型 | 必填 | 说明 | 85| ------| --------------------------------- | ---- | -------------------------------------- | 86| want| [Want](js-apis-application-want.md) | 是 | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 | 87 88**返回值:** 89 90| 类型 | 说明 | 91| ------------ | ---------------------------------- | 92| Promise<void< | 无返回结果的Promise对象。 | 93 94**示例:** 95 96```ts 97let want = { 98 deviceId: '', 99 bundleName: 'com.example.formstartability', 100 abilityName: 'MainAbility', 101 action: 'action1', 102 entities: ['entity1'], 103 type: 'MIMETYPE', 104 uri: 'key={true,true,false}', 105 parameters: {} 106}; 107this.context.startAbility(want).then(() => { 108 console.info('StartAbility Success'); 109}).catch((error) => { 110 console.info('StartAbility failed'); 111}); 112```