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<void> 260 261在AutoFillExtensionAbility销毁时回调,执行资源清理等操作。回调结束直接返回,或者使用Promise异步回调。 262 263**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore 264 265**返回值:** 266 267| 类型 | 说明 | 268| ------------------------------------- | ------------------------------- | 269| void \| Promise<void> | 无返回值或者以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