andorid与h5交互

webview定义

 WebView webView = (WebView) findViewById(R.id.login_webview);
        webView.getSettings().setJavaScriptEnabled(true);
        //前端调用android接口
        webView.addJavascriptInterface(new JsforAndroid(), "vimmoneAndroid");
        webView.setWebViewClient(new WebViewClient() {
            //当加载页面完成的时候回调
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
            }
        });

        webView.loadUrl(Constants.VIEW_HOST+"/signByPhone/inByMyApp");

自定义接口

 private class JsforAndroid {
        @JavascriptInterface
        public void userSignIn(final String userId, final String password){
            //提供给前端的接口
            Toast.makeText(LoginActivity.this, "正在准备初始化,请等待..." , Toast.LENGTH_SHORT).show();
            SharedPreferences.Editor editor = getSharedPreferences(Constants.SHARE_NAME, MODE_PRIVATE).edit();
            editor.putString(Constants.SHARE_USER,userId);
            editor.putString(Constants.SHARE_PASSWORD,password);
            editor.commit();
            Intent intent = new Intent(LoginActivity.this,MainActivity.class);
            startActivity(intent);
            finish();

        }
    }
  • 在webview load的页面中js使用以下调用:
 window.vimmoneAndroid.userSignIn(
                    this.ruleForm2.number,this.ruleForm2.pass);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 默认 layout 是 templates/layout/app.html.eex 这个文件,但是加入我们想设定不...
    时见疏星阅读 260评论 0 0
  • 因为不努力预备,所以才会欢欢喜喜的来,羞羞愧愧的走,长久以来我最害怕羞愧,却一直在做让自己羞愧的事,伤害自己,伤害...
    阿Miao阅读 242评论 0 1
  • 又是一年端午时,今年已经是您不在的第四个端午节了! 2014年的六月,奶奶永远的离开了我们,离开了这个...
    春雨的郝阅读 283评论 0 2
  • 六尺精神显英才,百代相传永不衰。邻里相处须忍让,将相团结国和谐。
    围境阅读 193评论 0 0

友情链接更多精彩内容