为了账号安全,请及时绑定邮箱和手机立即绑定

Android与WebView的js交互

liusiqian... 移动开发工程师
难度中级
时长46分
学习人数
综合评分10.00
20人评价 查看评价
10.0 内容实用
10.0 简洁易懂
10.0 逻辑清晰
  • Js调用安卓。java代码需要定义相应的方法,这个方法需要被注解,修饰符必须是public。用webview相应的方法将定义这个方法的对象绑定到一个js对象。 Js中使用这个对象的时候记得判断这个对象是否存在。 第二,安卓调用js比较简单,有点像是直接写js代码。然后将这个代码作为字符串传递给webview的相应方法作为参数即可。
    查看全部
  • 交互
    查看全部
    0 采集 收起 来源:WebView使用场景

    2020-04-18

  • public class JsMethodsObjectInterface{
        private static final String TAG = "JsMethodsObjectInterface";
        
        @JavascriptInterface
        public void setInputValue(String value){
            Log.d(TAG, msg: "input value =" + value);
        }
    }


    查看全部
  • public class MainActivity extends AppCompatActivity{
        private WebView webView;
        private TextView textView;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initWidgets(savedInstanceState);
        }
        private void initWidgets(Bundle savedInstanceState) {
            webView = findViewById(R.id.webview);
            textView = findViewById(R.id.textview);
            
            // WebView 开启对 js 加载的支持
            webView.getSettings().setJavaScriptEnabled(true);
            
            // WebView 上添加 js 方法的接口实现类
            webView.addJavascriptInterface(new jsMethodsObjectInterface(), "jsMethodsObjectName"n)
        }
    }


    查看全部
  • public class MainActivity extends AppCompatActivity{
        private WebView webView;
        private TextView textView;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initWidgets(savedInstanceState);
        }
        private void initWidgets(Bundle savedInstanceState) {
            webView = findViewById(R.id.webview);
            textView = findViewById(R.id.textview);
            
            // WebView 开启对 js 加载的支持
            webView.getSettings().setJavaScriptEnabled(true);
        }
    }


    查看全部
  • Button 不香吗?
    查看全部
  • viewweb
    查看全部
  • 安卓与webveiw的js交互
    查看全部
  • 1、webstrom前段开发工具。
    查看全部
  • WebView 调用 Java 方法


    查看全部
  • WebView调用Java方法

    步骤

    1.允许WebView加载js

    webView.getSettings().setJavaScripteEnabled(true);

    2.编写js接口类

    3.给WebView添加js接口

    webView.addJavaScriptInterface(obj,name);


    查看全部
  • 对应图片解释

    1. js掉用java代码,java代码中报错,app不会崩溃只是会在浏览器中报错

    2. 使用时需要判断对象是否存在,否则可能不是想要的效果

    3. 因为js中一个数组中可以包含多种类型,java中不行,遇到这种情况可以用json字符串代替

    4. js中传递字符串如果为空的话会传递undefined

    查看全部
  • 使用Chrome调试

    查看全部
  • android掉js中方法

    js中代码

    var remote = function(str){

        inputEle.value = str;

    }

    android中调用js中方法代码

    mWebView.loadUrl("javascript:if(window.remote){window.remote('"+str+"')}");

    查看全部
  • 键盘把输入框遮挡了,在activity标签下加

    android:windowSoftInputMode=“adjustPan”

    查看全部
首页上一页12下一页尾页

举报

0/150
提交
取消
课程须知
需要有一定Android基础,并能够了解WebView的基本使用。
老师告诉你能学到什么?
1、Webview调用Java方法;2、Android调用js方法;3、如何使用Chrome调试;4、js交互中常见的一些错误。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!