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```