Android與JS交互的方法有多種,以下是其中一些常用的方法:
使用WebView:Android中的WebView組件可以加載顯示網(wǎng)頁(yè),并且提供了與JS交互的方法。通過(guò)WebView的addJavascriptInterface()方法可以將Java對(duì)象注入到JS中,使得JS可以調(diào)用Java方法,而通過(guò)WebView的evaluateJavascript()方法可以調(diào)用JS方法。
使用JavaScriptInterface:Android中的WebView組件提供了JavaScriptInterface接口,可以在Java代碼中定義一個(gè)類(lèi),并通過(guò)注解將其暴露給JavaScript調(diào)用。在JS中可以通過(guò)window對(duì)象訪(fǎng)問(wèn)到這個(gè)接口,并調(diào)用其中的方法。
使用原生的JavaScript接口:Android中的WebView組件通過(guò)調(diào)用WebView的loadUrl()方法可以直接執(zhí)行JS代碼??梢栽贘S中定義一個(gè)全局函數(shù),然后通過(guò)loadUrl()方法調(diào)用這個(gè)函數(shù),并傳遞參數(shù)。
使用WebViewClient的shouldOverrideUrlLoading()方法:通過(guò)重寫(xiě)WebViewClient的shouldOverrideUrlLoading()方法,可以攔截WebView加載的URL,然后根據(jù)URL中的協(xié)議進(jìn)行相應(yīng)的處理??梢栽贘S中通過(guò)修改URL的協(xié)議來(lái)向Java代碼傳遞數(shù)據(jù)。
需要注意的是,為了確保安全性,建議在與JS交互時(shí)對(duì)傳遞的數(shù)據(jù)進(jìn)行校驗(yàn)和過(guò)濾,防止惡意代碼的注入和攻擊。