js和andorid之间相互调用

原创 2016年05月31日 09:57:12

js代码:

<span style="font-size:18px;"><script type="text/javascript">

	function testAlert(){
		
		alert("弹出框");
	}
	
	function testConfirm(){
		
		var r = confirm("确认框");
		alert(r);
	}
	
	function testPrompt(){
		
		var r =prompt("输入框","tom");
		alert(r);
	}

	
	function testJscallJava(){
	
	  javascript:window.jsCallJava.toast("我来自js");
	
	}
	
	function testJavacallJs(msg){
	
	alert(msg);
	
	}
	
	
    
	
</script>


</head>
<body>
<input type="button" onclick="testAlert();" value="testAlert" /> <br />
<input type="button" onclick="testConfirm();" value="testconfirm" /> <br />
<input type="button" onclick="testPrompt();" value="testPrompt" /> <br /></span>
<span style="font-size:18px;"><input type="button" onclick="testJscallJava();" value="testJscallJava" /> <br />

</body>
</html></span>
android代码:

<span style="font-size:18px;">public class MainActivity extends Activity {

	private WebView webView;

	@SuppressLint("JavascriptInterface")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		webView = (WebView) findViewById(R.id.webView);
		
		webView.loadUrl("file:///android_asset/jstest.html");
		
		WebSettings settings = webView.getSettings();
		
		//webVIew是否支持js
		settings.setJavaScriptEnabled(true);
		webView.setWebChromeClient(new WebChromeClient(){
			
			/* (non-Javadoc)
			 * @see android.webkit.WebChromeClient#onJsAlert(android.webkit.WebView, java.lang.String, java.lang.String, android.webkit.JsResult)
			 */
			@Override
			public boolean onJsAlert(WebView view, String url, String message,
					JsResult result) {
				// TODO Auto-generated method stub
				return super.onJsAlert(view, url, message, result);
			}
			
		});
		
		//js调用java
		//添加暴露给js的接口//参数一:object对象,实现要被js调用的方法;参数二:暴露给js的接口名
		webView.addJavascriptInterface(new Object(){
			
			@android.webkit.JavascriptInterface//4.0之后要加这个注解
			public void toast(String str){
				Toast.makeText(MainActivity.this, str, 0).show();
			}
			
		}, "jsCallJava");
		
		
	}

	//点击按钮,调用js方法
	public void callJs(View v){
		
		webView.loadUrl("javascript:testJavacallJs('"+"java传过来的"+"')");
		
	}
	

}</span>



JS和javaScript相互调用

Java和JavaScript相互调用                      照着写一遍估计你就能明白了,代码不要只看,必须自己去写     java代码 package com.smar...
  • u013128651
  • u013128651
  • 2016年06月07日 17:32
  • 1094

c++ 类之间的相互调用问题

这个问题在以前看别人代码的时候看到过类之间的相互调用,但是一直想不通在语法上怎么不会出错。自己试着写一个程序测试了一下。 这里建立两个类。一个是动物,一个是鱼。 1.动物类中有一个成员函数prt(...
  • liunian17
  • liunian17
  • 2012年03月04日 21:05
  • 6858

实现不同js中方法相互调用

如果在同一个页面中,不同Js中的方法是可以相互调用的,如 A.js: Function  aa(obj)(){alert(“faf”);} 此时表示的是在a.js存在着一个js方法,并且这个方法...
  • memgxingfeixiang
  • memgxingfeixiang
  • 2016年09月09日 15:17
  • 5595

三个类之间的相互调用实现

三个类之间的相互调用         由来:在项目开发的时候,定义了三个核心类(ClassA,ClassB, ClassC),三个类之间存在调用关系如下:ClassC是管理类,需要调用ClassA, ...
  • wojiushiwo987
  • wojiushiwo987
  • 2013年08月10日 01:22
  • 4739

Objective-C ——一个方法调用另一个方法的简单调用。

#import "Sportsman.h" @implementation Sportsman static int sum; -(void)addCount:(int)a {    ...
  • u012220823
  • u012220823
  • 2013年10月29日 15:53
  • 360

C++ 与 c# 模块 之间相互调用

在项目中,遇到C++ 与 c#编写的模块之间的相互调用。 分两种情况: 1  c#模块使用C++模块的DLL(导出C API函数), 只需简单引用C++模块的 DLL即可。 2 c+...
  • zhaozhencn
  • zhaozhencn
  • 2015年08月22日 12:31
  • 1213

两个类相互调用

两个类相互调用//A.h #include "B.h" class A { public: B b; }//A.cpp #include "A.h" class A{}//B.h exter...
  • u012541187
  • u012541187
  • 2016年12月21日 14:22
  • 303

Android webview开发中 js与android相互调用

开发的手机项目也进入了最后的关键功能,在手机上嵌入html5图形,需要与android和js进行相互交互,百度了一下android的webview提供了强大的调用js的功能,也可以将android的对...
  • omayyouhappy
  • omayyouhappy
  • 2015年11月13日 09:37
  • 1521

学习笔记-php和js之间的相互调用

php入门project:小型淘宝电商网站。 完全零基础自己看着php100零零散散的学了一下就开始上手做了。感觉不是特别系统。在很多方面了解的还不是很系统。希望以后有机会能更加系统的学习一下php...
  • sucre_en_morceaux
  • sucre_en_morceaux
  • 2016年01月04日 08:48
  • 236

C++和JavaScript脚本的相互调用收藏

 C++和JavaScript脚本的相互调用收藏 新一篇: WTL使用 | 旧一篇: WebBrowser2封装的容器 function StorePage(){d=document;t=...
  • skyremember
  • skyremember
  • 2008年09月19日 13:21
  • 2597
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js和andorid之间相互调用
举报原因:
原因补充:

(最多只允许输入30个字)