闲时整理2--Android中JS交互

JS调用原生的代码

this.addJavascriptInterface( new JavaScriptInterface( this.getContext()),  "JSInterface");
public class JavaScriptInterface {
    Context  mContext;

    JavaScriptInterface(Context c) {
        mContext = c;
    }

    @JavascriptInterface
    public void intentMethod( int jsType) {
        Intent intent =  new Intent();
        intent.setAction(Constants. JS_BROADCAST_ACUTION);
        intent.putExtra( "jsType", jsType);
        intent.addFlags(Intent. FLAG_INCLUDE_STOPPED_PACKAGES);
        mContext.sendBroadcast(intent);
    }
}

/**
  • JavaScriptInterface : 是原生自己写的类,类名按照明明规范就可以,最好写上带着context的构造参数,以便接收到数据后做页面跳转等逻辑
  • "JSInterface" : 是原生和js开发人员共同商议好的标志,用来调用原生方法
  • intentMethod(): 原生写的方法,js调用,在这个方法中能够接收到js传入的数据(如果数据比较多,可以使用json字符串接收)
  • @JavascriptInterface:js调用的方法必须加此注解
  • */

原生调用JS方法:
     webView.loadUrl("javascript:loginByToken('"+NeedFlags.phone+"','"+NeedFlags.password+"')");
/**
  • webView  :加载网页的WebView
  • loadUrl :WebView自带方法
  • javascript :原生调用js方法的固定格式
  • loginByToken : js的方法,在原生调用此方法时,js端可以收到原生传入的数据(如果是单个参数可以直接传字符串,如果是多个则kechuan) 

  • */







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值