UrlQuerySanitizer 中未注册的参数是什么?

What is an unregistered parameter in a UrlQuerySanitizer?

参考 UrlQuerySanitizer 的 Android 文档:

https://developer.android.com/reference/kotlin/android/net/UrlQuerySanitizer.html#getallowunregisteredparamaters

open fun getAllowUnregisteredParamaters(): Boolean

open fun setAllowUnregisteredParamaters(allowUnregisteredParamaters: Boolean): Unit

Get whether or not unregistered parameters are allowed. If not allowed, they will be dropped when a query is parsed.

这是什么意思,为什么要设置它?

在弄乱了这些方法之后,注册参数似乎允许它们在解析 url.

被检测到

调用此 return null:

sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")

在调用此 return 时 "test":

sanitizer.registerParameter("crcat", UrlQuerySanitizer.getUrlLegal())
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")

注册参数时,您指定的是字符串中预期的 url 编码。

因此通过调用setAllowUnregisteredParamaters(true),您无需手动注册每个要解析的参数。