快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

AndroidWebView中H5调用Android原生方法-创新互联

最近做项目,使用webView看一些网页,和网页开发一起找什么方法进行交互,还好解决,分享一下经验。

成都创新互联公司为客户提供专业的网站设计、成都做网站、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。

对于webView的使用就不写了,百度大法好,主要是交互方面,对WebView增加以下代码:

binding.webView.getSettings().setUserAgentString("Android");
binding.webView.addJavascriptInterface(new JavascriptInterface(this), "Android");

新建类,并对类的方法声明    @android.webkit.JavascriptInterface  ,方法就是我们自己的操作了。

public class JavascriptInterface {
    private Context context;

    public JavascriptInterface(Context context) {
        this.context = context;
    }

    @android.webkit.JavascriptInterface
    public void openImage(String img) {
        Log.i("---------------->", img + "");
    }
}

H5端对需要调用的地方,添加以下代码,这样就可以H5调用Android的方法进行愉快的玩耍了。

window.Android.openImage(img);

值得注意的地方是

看着两个红框的内容必须一致,我就是粗心犯了不一致的错误,找了半天才发现。

上面写完后,如果上线包需要混淆的话,加入以下代码

-keepattributes *Annotation*
-keepattributes *JavascriptInterface*
-keepclassmembers class * {
    @android.webkit.JavascriptInterface;
}
-keepclassmembers public class xx.xx.JavascriptInterface{;;
    public *;
    private *;
}

xx.xx是你的自己的类地址。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:AndroidWebView中H5调用Android原生方法-创新互联
网页URL:http://6mz.cn/article/djjpod.html

其他资讯