温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android 与JavaScript中怎么实现互相调用

发布时间:2021-06-28 16:12:58 来源:亿速云 阅读:164 作者:Leah 栏目:开发技术

android 与JavaScript中怎么实现互相调用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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互调Demo</title>	<script type="text/javascript" language="javascript">	function  callJavaScriptMethod()	{	document.getElementById("content").innerHTML = "Android 调用 Javascript 成功";	}	</script>	</head>	<body>	<div ><a onClick="window.demo.callJavaMethod()" href="">点击-->JS调用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="点击 Android 调用 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页面调用           	public void callJavaMethod() {                  Toast.makeText(getApplicationContext(), "JS调用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添加事件响应,执行JavaScript的fillContent()方法              public void onClick(View v) {                   mWebView.loadUrl("javascript:callJavaScriptMethod()");               }           });       }   }


4.效果图(依次是未调用前、android调用JS、JS调用android)

android 与JavaScript中怎么实现互相调用   android 与JavaScript中怎么实现互相调用 android 与JavaScript中怎么实现互相调用

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI