昨天1990的专栏

移动开发

安卓js交互

1  首先定义一个类




public class JavaScriptinterface {


private Context mContext;


/** Instantiate the interface and set the context */
public JavaScriptinterface(Context c) {
mContext = c;
}


/** Show a toast from the web page 
* @throws UnsupportedEncodingException */
public void showToast(String toast,String result) throws UnsupportedEncodingException {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
System.out.println("======"+result);
}
}




2 编写html代码(文件的编码也应该是utf-8)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />//编码必须和webview设置的编码一样


<script type="text/javascript" >   
function showAndroidToast(toast,result) {       
android.showToast(toast,result);   //调用方法必须和第一步创建的类里面的方法相同
}
</script>
 
</head>
<body>
<input type="button" value="Say sdf 看看"
onClick="showAndroidToast('Hello 444水电费545!','4水电费554')" />//调用js

</body>
</html>




3设置webview

myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new JavaScriptinterface(this),
"android");
String htmlText = getFromAssets("test.html");
myWebView.loadData(htmlText, "text/html; charset=UTF-8", null);
myWebView.setWebViewClient(new myWebViewClient());

阅读更多
文章标签: 安卓 js
想对作者说点什么? 我来说一句

安卓JS交互Demo

2016年10月18日 1.85MB 下载

安卓H5交互代码

2017年01月19日 109KB 下载

Android与JS交互 DEMO

2016年03月15日 6.13MB 下载

android Webview欢迎界面

2015年08月08日 4.3MB 下载

Android和H5 js交互Demo

2016年09月04日 85KB 下载

没有更多推荐了,返回首页

不良信息举报

安卓js交互

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭