在項目中遇到一個問題,在webveiw和原生之間進行傳值的時候,出現(xiàn)了一些encode的小問題??雌饋砗芎唵蔚膯栴},實際上卻存在不小的坑。
首先說一下目前項目的結構,在一個activity中,webview和原生之間有多種交互。
如圖所示
在原生調用webview方法,這種協(xié)議已經非常常用了,直接調用loadJS();但是自定義協(xié)議這個過程,使用的攔截跳轉的方式,按照預定的協(xié)議來解析數(shù)據,這里面就有一些情況,比如數(shù)據中出現(xiàn)了中文,webview會encode這部分內容,這就要求我們對攔截以后的內容進行decode。
見下方代碼:
1 private String decodeUrl(String url) {2 try {3 return URLDecoder.decode(url, "utf-8");4 }&