参考UrlQuerySanitizer
的Android文档:
open fun getAllowUnregisteredParamaters(): Boolean
open fun setAllowUnregisteredParamaters(allowUnregisteredParamaters: Boolean): Unit
获取是否允许使用未注册的参数。如果不允许,在解析查询时将删除它们。
这是什么意思,为什么要设置它?
在弄乱方法之后,似乎注册参数使它们在解析URL时被检测到。
将此返回称为null
:
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
在调用时返回"test"
:
sanitizer.registerParameter("crcat", UrlQuerySanitizer.getUrlLegal())
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
注册参数时,您要在字符串中指定期望的URL编码。
因此,通过调用setAllowUnregisteredParamaters(true)
,您无需手动注册要解析的每个参数。