Android与H5互调

详见尚硅谷Android课程《Android与H5互调》,整篇复制其中代码,
地址:http://www.gulixueyuan.com/my/course/126
在这里只是记录一下...

结果(列举其中部分):
点击播放按钮,页面跳转播放视频
在这里插入图片描述
会联网播放视频,在自己的浏览器中…
主要是一个android与h5的互调内容

在onCreate方法中创建一个webView:

    protected void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.activity_js_call_java_video);
        super.onCreate(savedInstanceState);
        webView = (WebView) findViewById(R.id.webview);

        webView = new WebView(this);
        WebSettings settings = webView.getSettings();
        //设置javascript插件
        settings.setJavaScriptEnabled(true);
        //自己创建一个浏览器
        webView.setWebViewClient(new WebViewClient());
        //添加JavaScriptInterface
        webView.addJavascriptInterface(new AndroidAndJsInterface(),"android");
        //这里的android和要加载的html中方法签名的字段相匹配

//        webView.loadUrl("http://www.baidu.com");
        webView.loadUrl("file:///android_asset/RealNetJSCallJavaActivity.htm");

        setContentView(webView);//虽然布局是WebView,但是这里不写就显示不出来...很奇怪
    }

实现Activity中的AndroidAndJsInterface():

 class AndroidAndJsInterface{
        @JavascriptInterface//添加 @ 解决报错问题
        public void playVideo(int id,String url, String title){
            //用所有的视频播放器播放,多个播放器可以选择
            Intent intent = new Intent();
            intent.setDataAndType(Uri.parse(url),"video/*");
            Toast.makeText(JsCallJavaVideoActivity.this,"url = "+url,Toast.LENGTH_SHORT).show();
            startActivity(intent);
        }
    }

实现调用的html中的方法;

javascript:android.playVideo(itemid, videourl, itemtitle);
//android与 addJavascriptInterface(new AndroidAndJsInterface(),"android"); 相匹配
//在AndroidAndJsInterface 中实现 playVideo 方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值