我正在尝试构建一个自动填充服务来处理拆分登录页面,但我遇到了一个令人困惑的错误。代码的第一部分执行得很好,所以应该设置客户端状态,但是我遇到了“request.getClientState() 不能为空”错误。由于它是一个自动填充服务,它运行两次,一次在用户名页面上,然后再次在密码页面上。理论是,在运行 1 中,我检测到用户名字段并使用 .setClientState() 保存 AutofillID,然后在运行 2 中,我在密码页面上使用 .getClientState() 访问该 AutofillID,并将两者都传递给 onSaveRequest()。我不确定为什么 .getClientState() 返回 null
执行的代码块:
val clientState: Bundle = Bundle()
val responseBuilder = FillResponse.Builder()
clientState.putParcelable("usernameID", usernameID)
responseBuilder
.setClientState(clientState)
callback.onSuccess(
responseBuilder
.build())
不执行的代码块:
val clientState: Bundle = request.getClientState()
抛出的错误:
java.lang.IllegalStateException: request.getClientState() must not be null