您当前的位置: 首页 >  android

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android】【自动填充】自定义AutofillService(一):AutofillService运行原理

命运之手 发布时间:2019-04-19 13:58:58 ,浏览量:1

AutofillService生效条件: 在系统设置里启用了对应的自动填充服务 在应用清单里申请了android.permission.BIND_AUTOFILL_SERVICE权限 控件设置了正确的填充类型和填充规则

填充表单流程: 用户点击了一个需要自动填充的控件,View调用AutofillManager.notifyViewEntered(View)方法,通知填充服务有控件需要自动填充 填充服务创建一个ViewStructure对象,它代表了整个屏幕上的所有View结构,并将其传给AutofillService 填充服务调用AutofillService.onConnected()方法,AutofillService是一直运行在后台的,每次填充只是调用onConnected()方法,并不是调用bindService()方法 填充服务调用AutofillService.onFillRequest(FillRequest, CancellationSignal, FillCallback)方法,获取可用于填充的表单数据 填充服务调用FillCallback.onSuccess()或FillCallback.onFailure()方法,返回自动填充结果 填充服务调用AutofillService.onDisconnected()方法,断开和服务的关联 填充服务将结果将显示在UI界面上

保存表单流程: 用户点击自动填充控件,执行AutofillService.onFillRequest时,获取所有需要填充表单的节点信息,即SaveInfo,保存到FillResponse中 用户退出Activity时,填充服务根据SaveInfo信息,判断有没有表单发生了变更,如果有变更,则询问是否保存新表单 填充服务调用AutofillService.onSaveRequest()方法,保存表单数据 填充服务调用SaveCallback.onSuccess()或SaveCallback.onFailure()方法,返回保存结果

onFillRequest返回值: 当找到合适的填充建议时,调用FillCallback.onSuccess(FillResponse) 当未找到合适的填充建议时,调用FillCallback.onSuccess(null) 当遇到逻辑或代码错误时,调用FillCallback.onFailure(String message) 不管成功或失败,都要执行回调函数,否则请求会一直等待,直至超时,会影响性能

onSaveRequest返回值: 当保存建议成功时,调用SaveCallback.onSuccess() 当保存建议失败时,调用SaveCallback.onFailure(String message) 不管成功或失败,都要执行回调函数,否则请求会一直等待,直至超时,会影响性能

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0410s