您好,登錄后才能下訂單哦!
android 與JavaScript中怎么實(shí)現(xiàn)互相調(diào)用,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
1.html代碼
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> <title>Android/Javascript互調(diào)Demo</title> <script type="text/javascript" language="javascript"> function callJavaScriptMethod() { document.getElementById("content").innerHTML = "Android 調(diào)用 Javascript 成功"; } </script> </head> <body> <div ><a onClick="window.demo.callJavaMethod()" href="">點(diǎn)擊-->JS調(diào)用Android代碼</a></div> <div id="content"></div> </body> </html>
2.xml布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/androidCallJSBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="點(diǎn)擊 Android 調(diào)用 JavaScript"/> </LinearLayout>
3.Activity測試代碼
package com.testwebview; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { private WebView mWebView; private Button androidCallJSBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } @SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" }) private void initView() { mWebView = (WebView) findViewById(R.id.webview); WebSettings mWebSettings = mWebView.getSettings(); mWebSettings.setJavaScriptEnabled(true); //加上這句話才能使用javascript方法 mWebView.addJavascriptInterface(new Object() {//增加接口方法,讓html頁面調(diào)用 public void callJavaMethod() { Toast.makeText(getApplicationContext(), "JS調(diào)用Android成功", Toast.LENGTH_LONG).show(); } }, "demo"); mWebView.loadUrl("file:///android_asset/demo.html"); //加載頁面 androidCallJSBtn = (Button) findViewById(R.id.androidCallJSBtn); androidCallJSBtn.setOnClickListener(new Button.OnClickListener() { //給button添加事件響應(yīng),執(zhí)行JavaScript的fillContent()方法 public void onClick(View v) { mWebView.loadUrl("javascript:callJavaScriptMethod()"); } }); } }
4.效果圖(依次是未調(diào)用前、android調(diào)用JS、JS調(diào)用android)
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。