1# @ohos.app.ability.PhotoEditorExtensionAbility(图片编辑能力) 2PhotoEditorExtensionAbility继承自ExtensionAbility,开发者可通过PhotoEditorExtensionAbility实现图片编辑扩展页面。应用通过startAbilityByType拉起图片编辑类应用扩展面板后,由用户在面板上选择实现了PhotoEditorExtensionAbility的图片编辑扩展页面并拉起该页面。 3> **说明:** 4> 5> 本模块首批接口从API version 12 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 6> 7> 本模块接口仅可在Stage模型下使用。 8## 导入模块 9```ts 10import { PhotoEditorExtensionAbility } from '@kit.AbilityKit'; 11``` 12## 属性 13**系统能力:** SystemCapability.Ability.AppExtension.PhotoEditorExtension 14| 名称 |类型 |只读 |可选 |说明 | 15| ------------ | ------------ | ------------ | ------------ | ------------ | 16| context | [PhotoEditorExtensionContext](./js-apis-app-ability-photoEditorExtensionContext.md) | 否 | 是 | 上下文 | 17 18## PhotoEditorExtensionAbility.onCreate 19onCreate(): void 20 21PhotoEditorExtensionAbility创建时回调,执行初始化业务逻辑操作。 22 23**模型约束:** 此接口仅可在Stage模型下使用。 24 25**系统能力:** SystemCapability.Ability.AppExtension.PhotoEditorExtension 26 27**示例:** 28 29```ts 30import { PhotoEditorExtensionAbility } from '@kit.AbilityKit'; 31 32const TAG: string = '[testTag] ExamplePhotoEditorAbility'; 33 34export default class ExamplePhotoEditorAbility extends PhotoEditorExtensionAbility { 35 onCreate() { 36 console.info(TAG, `onCreate`); 37 } 38} 39 40``` 41## PhotoEditorExtensionAbility.onStartContentEditing 42onStartContentEditing(uri: string, want: Want, session: UIExtensionContentSession): void 43 44当PhotoEditorExtensionAbility界面内容对象创建后调用,可以执行读取原始图片、加载页面等操作。 45 46**模型约束:** 此接口仅可在Stage模型下使用。 47 48**系统能力:** SystemCapability.Ability.AppExtension.PhotoEditorExtension 49 50**参数:** 51| 参数名 | 类型 | 必填 | 说明 | 52| ------------ | ------------ | ------------ | ------------ | 53| uri | string | 是 | 待编辑的原始图片[uri](../apis-core-file-kit/js-apis-file-fileuri.md),格式为file://\<bundleName>/\<sandboxPath>。 | 54| want | [Want](./js-apis-app-ability-want.md) | 是 | 当前PhotoEditorExtensionAbility的Want类型信息,包括ability名称、bundle名称等。 | 55| session | [UIExtensionContentSession](./js-apis-app-ability-uiExtensionContentSession.md) | 是 | PhotoEditorExtensionAbility界面内容相关信息。 | 56 57 58**示例:** 59 60```ts 61import { PhotoEditorExtensionAbility, Want, UIExtensionContentSession } from '@kit.AbilityKit'; 62 63const TAG: string = '[testTag] ExamplePhotoEditorAbility'; 64 65export default class ExamplePhotoEditorAbility extends PhotoEditorExtensionAbility { 66 onStartContentEditing(uri: string, want: Want, session: UIExtensionContentSession) { 67 console.info(TAG, `onStartContentEditing want: ${JSON.stringify(want)}, uri: ${uri}`); 68 } 69} 70 71``` 72## PhotoEditorExtensionAbility.onForeground 73onForeground(): void 74 75PhotoEditorExtensionAbility生命周期回调,当PhotoEditorExtensionAbility从后台转到前台时触发。 76 77**模型约束:** 此接口仅可在Stage模型下使用。 78 79**系统能力:** SystemCapability.Ability.AbilityRuntime.AbilityCore 80 81**示例:** 82 83```ts 84import { PhotoEditorExtensionAbility } from '@kit.AbilityKit'; 85 86const TAG: string = '[testTag] ExamplePhotoEditorAbility'; 87 88export default class ExamplePhotoEditorAbility extends PhotoEditorExtensionAbility { 89 onForeground() { 90 console.info(TAG, `onForeground`); 91 } 92} 93 94``` 95## PhotoEditorExtensionAbility.onBackground 96onBackground(): void 97 98PhotoEditorExtensionAbility生命周期回调,当PhotoEditorExtensionAbility从前台转到后台时触发。 99 100**模型约束:** 此接口仅可在Stage模型下使用。 101 102**系统能力:** SystemCapability.Ability.AbilityRuntime.AbilityCore 103 104**示例:** 105 106```ts 107import { PhotoEditorExtensionAbility } from '@kit.AbilityKit'; 108 109const TAG: string = '[testTag] ExamplePhotoEditorAbility'; 110 111export default class ExamplePhotoEditorAbility extends PhotoEditorExtensionAbility { 112 onBackground() { 113 console.info(TAG, `onBackground`); 114 } 115} 116 117``` 118## PhotoEditorExtensionAbility.onDestroy 119onDestroy(): void | Promise\<void> 120 121PhotoEditorExtensionAbility生命周期回调,在销毁时回调,执行资源清理等操作。 122 123**模型约束:** 此接口仅可在Stage模型下使用。 124 125**系统能力:** SystemCapability.Ability.AppExtension.PhotoEditorExtension 126 127**返回值:** 128| 类型 |说明 | 129| ------------ | ------------ | 130| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 131 132**示例:** 133 134```ts 135import { PhotoEditorExtensionAbility } from '@kit.AbilityKit'; 136 137const TAG: string = '[testTag] ExamplePhotoEditorAbility'; 138 139export default class ExamplePhotoEditorAbility extends PhotoEditorExtensionAbility { 140 onDestroy() { 141 console.info(TAG, `onDestroy`); 142 } 143} 144 145```