js調用android本地java代碼


js調用android本地java代碼

  當在Android上使用WebView控件開發一個Web應用時,可以創建一個通過Javascript調用Androidjava代碼的接口。也就是可以通過Javascript代碼來調用Android本地的java代碼!

  下面來說明一下這個接口的具體創建方法。

  第一步:首先需要在Android側的java代碼中創建實現了具體功能的類。(注意:作為接口的方法必須要加@JavascriptInterface注解)比如:

 1 public class WebAppInterface {
 2     Context mContext;
 3 
 4     /** Instantiate the interface and set the context */
 5     WebAppInterface(Context c) {
 6         mContext = c;
 7     }
 8 
 9     /** Show a toast from the web page */
10     @JavascriptInterface
11     public void showToast(String toast) {
12         Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
13     }
14 }

 

  在這個例子中,WebAppInterface類允許Web頁面通過showToast方法打開一個Toast提示消息。

  第二步:在Android側的java代碼中,通過WebViewaddJavascriptInterface方法將第一步創建的接口和WebView綁定起來。具體代碼如下:

1 WebView webView = (WebView) findViewById(R.id.webview);
2 
3 // 傳入的第二個參數angle,就是可已在js代碼中直接使用的實例名稱
4 webView.addJavascriptInterface(new WebAppInterface(this), "angle");

 

  第三步:使用第二步創建的接口。在Web頁面的js代碼中,可以條用angle對象的showToast方法來間接調用第一步中WebAppInterface類中的showToast方法。具體應用示例如下:

1 <input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
2 
3 <script type="text/javascript">
4     function showAndroidToast(toast) {
5         angle.showToast(toast);
6     }
7 </script>

 

 參考資料:android-sdk/docs/guide/webapps/webview.html

 


免責聲明!

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



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