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