讓android的webview中的按鈕,觸發事件,也能像原生按鈕一樣使用


webview使用的是Html,通過js可以直接調用

注意Html中將預埋一個是參數、一個是方法(方法可能有多個,根據具體使用場景而定),至於這兩個參數在js中具體意義,請參考js相關內容,這個在android源代碼中將會用到這兩個參數

先看看android中怎么寫:

1、定義一個類

這里面包含了原生使用的方法(這個方法js中也有一個,這是一個聯通接口)

 

public class JavaScriptInterface {
    Context mContext;

    JavaScriptInterface(Context c) {
        mContext = c;
    }
   
@android.webkit.JavascriptInterface
    public void chatWithExpert(String expertId,String imId ,String name,String head){
       //js將會觸發這個方法,執行原生代碼中的方法
    }
   }
}
2、實現,使用這個接口
使用之前我們先進行實例化
 
        
final JavaScriptInterface myJavaScriptInterface = new JavaScriptInterface(this);

 

webView.addJavascriptInterface(myJavaScriptInterface, "androidObj");
注意傳入那個加大號參數,js中對其進行了預先的定義,這里要和html達成一致,相當於一個連接點。
 
        
如果html中的js沒有問題的話,這里就可以觸發
JavaScriptInterface中的
chatWithExpert方法了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM