• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.AutoFillExtensionAbility (AutoFillExtensionAbility)(系统接口)
2
3<!--Kit: Ability Kit-->
4<!--Subsystem: Ability-->
5<!--Owner: @hanchen45; @Luobniz21-->
6<!--Designer: @ccllee1-->
7<!--Tester: @lixueqing513-->
8<!--Adviser: @huipeizi-->
9
10AutoFillExtensionAbility模块提供账号和密码的自动填充和保存功能, 继承自[ExtensionAbility](js-apis-app-ability-extensionAbility.md)。
11
12> **说明:**
13>
14> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
15>
16> 本模块接口仅可在Stage模型下使用。
17>
18> 本模块为系统接口。
19
20## 导入模块
21
22```ts
23import { AutoFillExtensionAbility } from '@kit.AbilityKit';
24```
25
26## AutoFillExtensionAbility
27
28### 属性
29
30**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
31
32**参数:**
33
34| 名称 | 类型 | 只读 | 可选 | 说明 |
35| -------- | -------- | -------- | -------- | -------- |
36| context | [AutoFillExtensionContext](js-apis-inner-application-autoFillExtensionContext-sys.md)  | 否 | 否 | AutoFillExtension的上下文环境,继承自ExtensionContext。 |
37
38
39### onCreate
40
41onCreate(): void
42
43AutoFillExtensionAbility创建时触发回调函数。
44
45**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
46
47**示例:**
48
49```ts
50import { AutoFillExtensionAbility } from '@kit.AbilityKit';
51import { hilog } from '@kit.PerformanceAnalysisKit';
52
53class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
54  onCreate() {
55    hilog.info(0x0000, 'testTag', '%{public}s', 'onCreate');
56  }
57}
58```
59
60### onFillRequest
61
62onFillRequest(session: UIExtensionContentSession, request: FillRequest, callback: FillRequestCallback): void
63
64当发起自动填充请求或者生成密码时触发此回调函数。
65
66**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
67
68**参数:**
69
70| 参数名 | 类型 | 必填 | 说明 |
71| -------- | -------- | -------- | -------- |
72| session | [UIExtensionContentSession](js-apis-app-ability-uiExtensionContentSession.md)  | 是 | AutoFillExtensionAbility界面内容相关信息。 |
73| request | [FillRequest](js-apis-inner-application-autoFillRequest-sys.md#fillrequest)  | 是 | 自动填充数据。 |
74| callback | [FillRequestCallback](js-apis-inner-application-autoFillRequest-sys.md#fillrequestcallback)  | 是 | 自动填充请求回调。 |
75
76**示例:**
77
78```ts
79import { AutoFillExtensionAbility, UIExtensionContentSession, autoFillManager, common } from '@kit.AbilityKit';
80import { hilog } from '@kit.PerformanceAnalysisKit';
81
82class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
83  onFillRequest(session: UIExtensionContentSession,
84                request: autoFillManager.FillRequest,
85                callback: autoFillManager.FillRequestCallback) {
86    hilog.info(0x0000, 'testTag', '%{public}s', 'autofill onFillRequest');
87    hilog.info(0x0000, 'testTag', 'fill requestCallback: %{public}s', JSON.stringify(callback));
88    hilog.info(0x0000, 'testTag', 'get request viewData: %{public}s', JSON.stringify(request.viewData));
89    try {
90      let localStorageData: Record<string, UIExtensionContentSession | string | autoFillManager.FillRequestCallback |
91      autoFillManager.ViewData | common.AutoFillExtensionContext> = {
92        'session': session,
93        'message': 'AutoFill Page',
94        'fillCallback': callback,
95        'viewData': request.viewData,
96        'context': this.context
97      };
98      let storage_fill = new LocalStorage(localStorageData);
99      if (session) {
100        session.loadContent('pages/SelectorList', storage_fill);
101      } else {
102        hilog.error(0x0000, 'testTag', '%{public}s', 'session is null');
103      }
104    } catch (err) {
105      hilog.error(0x0000, 'testTag', '%{public}s', 'failed to load content');
106    }
107  }
108}
109```
110
111### onSaveRequest
112
113onSaveRequest(session: UIExtensionContentSession, request: SaveRequest, callback: SaveRequestCallback): void
114
115当发起自动保存或者手动保存时触发此回调函数。
116
117**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
118
119**参数:**
120
121| 参数名 | 类型 | 必填 | 说明 |
122| -------- | -------- | -------- | -------- |
123| session | [UIExtensionContentSession](js-apis-app-ability-uiExtensionContentSession.md)  | 是 | AutoFillExtensionAbility界面内容相关信息。 |
124| request | [SaveRequest](js-apis-inner-application-autoFillRequest-sys.md#saverequest)  | 是 | 保存请求数据。 |
125| callback | [SaveRequestCallback](js-apis-inner-application-autoFillRequest-sys.md#saverequestcallback)  | 是 | 保存请求回调。 |
126
127**示例:**
128
129```ts
130import { AutoFillExtensionAbility, UIExtensionContentSession, autoFillManager, common } from '@kit.AbilityKit';
131import { hilog } from '@kit.PerformanceAnalysisKit';
132
133class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
134  onSaveRequest(session : UIExtensionContentSession,
135                request : autoFillManager.SaveRequest,
136                callback : autoFillManager.SaveRequestCallback) {
137    hilog.info(0x0000, 'testTag', '%{public}s', 'onSaveRequest');
138    try {
139      let localStorageData: Record<string, UIExtensionContentSession | string | autoFillManager.SaveRequestCallback |
140      autoFillManager.ViewData | common.AutoFillExtensionContext> = {
141        'session': session,
142        'message': 'AutoFill Page',
143        'fillCallback': callback,
144        'viewData': request.viewData,
145        'context': this.context,
146      };
147      let storage_save = new LocalStorage(localStorageData);
148      if (session) {
149        session.loadContent('pages/SavePage', storage_save);
150      } else {
151        hilog.error(0x0000, 'testTag', '%{public}s', 'session is null');
152      }
153    } catch (err) {
154      hilog.error(0x0000, 'testTag', '%{public}s', 'failed to load content');
155    }
156  }
157}
158```
159
160### onUpdateRequest<sup>12+</sup>
161
162onUpdateRequest(request: UpdateRequest): void
163
164当收到更新请求时触发此回调函数。
165
166**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
167
168**参数:**
169
170| 参数名 | 类型 | 必填 | 说明 |
171| -------- | -------- | -------- | -------- |
172| request | [UpdateRequest](js-apis-inner-application-autoFillRequest-sys.md#updaterequest12)  | 是 | 更新请求。 |
173
174**示例:**
175
176```ts
177import { AutoFillExtensionAbility, autoFillManager } from '@kit.AbilityKit';
178import { hilog } from '@kit.PerformanceAnalysisKit';
179
180class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
181  onUpdateRequest(request: autoFillManager.UpdateRequest) {
182    hilog.info(0x0000, 'testTag', '%{public}s', 'on update request, view data is: %{public}s',
183      JSON.stringify(request.viewData));
184  }
185}
186```
187
188### onSessionDestroy
189
190onSessionDestroy(session: UIExtensionContentSession): void
191
192当AutoFillExtensionAbility界面内容对象销毁后调用。
193
194**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
195
196**参数:**
197
198| 参数名 | 类型 | 必填 | 说明 |
199| -------- | -------- | -------- | -------- |
200| session | [UIExtensionContentSession](js-apis-app-ability-uiExtensionContentSession.md) | 是 | AutoFillExtensionAbility界面内容相关信息。 |
201
202**示例:**
203
204```ts
205import { AutoFillExtensionAbility, UIExtensionContentSession } from '@kit.AbilityKit';
206import { hilog } from '@kit.PerformanceAnalysisKit';
207
208class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
209  onSessionDestroy(session : UIExtensionContentSession) {
210    hilog.info(0x0000, 'testTag', '%{public}s', 'onSessionDestroy');
211  }
212}
213```
214
215### onForeground
216
217onForeground(): void
218
219当AutoFillExtensionAbility从后台转到前台时触发。
220
221**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
222
223**示例:**
224
225```ts
226import { AutoFillExtensionAbility } from '@kit.AbilityKit';
227import { hilog } from '@kit.PerformanceAnalysisKit';
228
229class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
230  onForeground() {
231    hilog.info(0x0000, 'testTag', '%{public}s', 'onForeground');
232  }
233}
234```
235
236### onBackground
237
238onBackground(): void
239
240当AutoFillExtensionAbility从前台转到后台时触发。
241
242**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
243
244**示例:**
245
246```ts
247import { AutoFillExtensionAbility } from '@kit.AbilityKit';
248import { hilog } from '@kit.PerformanceAnalysisKit';
249
250class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
251  onBackground() {
252    hilog.info(0x0000, 'testTag', '%{public}s', 'onBackground');
253  }
254}
255```
256
257### onDestroy
258
259onDestroy(): void | Promise&lt;void&gt;
260
261在AutoFillExtensionAbility销毁时回调,执行资源清理等操作。回调结束直接返回,或者使用Promise异步回调。
262
263**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
264
265**返回值:**
266
267| 类型                                  | 说明                            |
268| ------------------------------------- | ------------------------------- |
269| void&nbsp;\|&nbsp;Promise&lt;void&gt; | 无返回值或者以Promise形式返回。 |
270
271**示例:**
272
273```ts
274import { AutoFillExtensionAbility } from '@kit.AbilityKit';
275import { hilog } from '@kit.PerformanceAnalysisKit';
276
277class MyAutoFillExtensionAbility extends AutoFillExtensionAbility {
278  onDestroy() {
279    hilog.info(0x0000, 'testTag', '%{public}s', 'onDestroy');
280  }
281}
282```
283