Android中WebView使用6,js调java实现播放视频

效果图


项目结构:


核心代码:

JsCallJavaVideoActivity中
package com.zhh.android;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

/**
 * js调Android播放视频
 */
public class JsCallJavaVideoActivity extends Activity {
    private WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_js_call_java_video);
        findViews();
        initWebView();
    }
    /**
     * 初始化控件
     */
    private void findViews() {
        webView = (WebView)findViewById( R.id.webview );
    }
    private void initWebView(){
        WebSettings webSettings = webView.getSettings();
        //设置支持javaScript脚步语言
        webSettings.setJavaScriptEnabled(true);

        //支持双击-前提是页面要支持才显示
//        webSettings.setUseWideViewPort(true);

        //支持缩放按钮-前提是页面要支持才显示
        webSettings.setBuiltInZoomControls(true);

        //设置客户端-不跳转到默认浏览器中
        webView.setWebViewClient(new WebViewClient());

        //设置支持js调用java
        webView.addJavascriptInterface(new AndroidAndJsInterface(),"android");

        //加载网络资源
//        webView.loadUrl("http://atguigu.com/teacher.shtml");
        webView.loadUrl("file:///android_asset/RealNetJSCallJavaActivity.htm");
//        webView.loadUrl("http://10.0.2.2:8080/assets/RealNetJSCallJavaActivity.htm");
    }
    class AndroidAndJsInterface {
        /**
         * 被js调用的方法
         */
        @JavascriptInterface
        public void playVideo(int id,String videoUrl,String tile){
            //调起系统所有播放器
            Intent intent = new Intent();
            intent.setDataAndType(Uri.parse(videoUrl),"video/*");
            startActivity(intent);
        }

    }

}

activity_js_call_java_video.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.zhh.android.JsCallJavaVideoActivity"
    android:orientation="vertical"
    >

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>
RealNetJSCallJavaActivity.htm中
<!DOCTYPE html>
<html><head>
    <meta name="keywords" content="ANZO,GAME,LOL,DNF,DOTA,撸啊撸,地下城与勇士,掌游宝,攻略,宝典,模拟器,加点,战报,英雄,最新,最全,最强,视频">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="format-detection" content="address=no;email=no">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>移动版</title>
    <link rel="shortcut icon" href="http://api.lol.zhangyoubao.com/img/favicon.jpg">
    <!-- CSS测试地址:<link href="http://static.zhangyoubao.com/web_dev/phone_item_400500.css" type="text/css" rel="stylesheet"/> -->
    <link href="RealNetJSCallJavaActivity_files/phone_item_400500.css" type="text/css" rel="stylesheet"> 
</head>
<body>
  <link id="font_size" href="" type="text/css" rel="stylesheet">
<div class="news">
    <div class="mv_name">
         <h1>6.9玛尔扎哈OP套路教程</h1>
      <p>
        <span>作者:掌游宝@掌游宝</span> <!-- 文章生成时间大于 2016-03-24 0:00,则用新规范取作者和来源 -->
        <span class="separ">|</span>
        <span class="sp_time">5月7日 15:00</span>
      </p>
    </div>
    <div class="news_cont" id="news_cont">
                <div class="mv_box">
            <div class="mv_box_div">
                <p><a id="play" tag="video"><img src="RealNetJSCallJavaActivity_files/stop.png"></a></p>
            </div>
            <img src="RealNetJSCallJavaActivity_files/mpic65411h572d6eaf.jpg" width="100%">
        </div>
                <div class="mv_info">
            <span>时长:7分42秒</span><a id="download" class="download un-down" tag="video&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值