js和android之间的交互

<span style="font-size:24px;">/**
 * js和android的交互
 * 
 * 1.在js中,通过调用android的代码,完成一系列定义好的动作.
 *
 */
@SuppressLint("JavascriptInterface")
public class Webview extends Activity {

	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		
		LinearLayout linear = new LinearLayout(Webview.this);
		
		LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
		
		linear.setLayoutParams(params);
		
		WebView webview = new WebView(Webview.this);
		
		webview.setLayoutParams(params);
		
		//设置布局文件
		setContentView(linear);
		
		
		//设置webview 需要的属性
		WebSettings websetting = webview.getSettings();

		//加载的网页可以加载js代码
		websetting.setJavaScriptEnabled(true);
		
		//设置可以和js进行交互
		/**
		 * shareUtils  定义好的调用类
		 * share js对象名
		 * */
		webview.addJavascriptInterface(new ShareUtils(), "share");
		
	}
	
	/**
	 * 声明一个方法
	 * */
	class ShareUtils{
		
		public void show(){
			
			new Handler().post(new Runnable(){

				@Override
				public void run() {

					Toast.makeText(Webview.this, "这里是js调用的代码", Toast.LENGTH_LONG).show();
					
				}
				
			});
			
		}
		
		
	}
	
}</span>


其中,在js端的代码为:

javascript.js对象名.方法,

对应着程序中的就是:javascript.share.show();


其中,比较重要的是,在android中混淆打包的时候,一定要把js调用的部分,检出,否则,点击网页上的按钮,是不会有响应的.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值