webview加载html代码(包含播发腾讯视频的分享代码)
来源:互联网 发布:c数据库入门经典 编辑:程序博客网 时间:2024/05/21 17:50
腾讯视频下方的分享点击之后会出现三个不同的分享地址,如图:,第一个好像是基于falsh的,第二个是基于falsh播放的,由于android4.+不再支持falsh插件,所以这两种方式都不能使用,第一种会直接白屏,第二种会显示插件无法加载,第三种可以正常使用。
webView = (WebView) findViewById(R.id.webview); /**/ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { webView.getSettings().setMixedContentMode( WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE); } webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { // TODO Auto-generated method stub // handler.cancel();// Android默认的处理方式 handler.proceed();// 接受所有网站的证书 } });//注意,4.+不在支持flash,不能使用embed标签了 String html1 = "<iframe frameborder=\"0\" width=\"1080\" height=\"1000\" src=\"https://v.qq.com/iframe/player.html?vid=g0024gbjoue&tiny=0&auto=0\" allowfullscreen></iframe>"; webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setPluginState(WebSettings.PluginState.ON); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setDefaultTextEncodingName("UTF-8"); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); webView.getSettings().setDomStorageEnabled(true); String content = "<p><font color='red'>hello world!</font></p>"; //加载普通的html代码 //webView.loadData(content, "text/html", "UTF-8"); //加载视频连接 // webView.loadUrl("http://player.youku.com/embed/XNTM5MTUwNDA0"); //加载asset下的html代码 //webView.loadUrl("file:///android_asset/test.html"); //加载html视频代码 webView.loadData(html1, "text/html", "UTF-8"); }注意:根据网上的资料,好多都说要开启硬件加速,但是我用已有的手机测试了下,好像没什么关系(4.4的和5.0的)?
android:hardwareAccelerated="true"
对于加载assets下的html,
位置是project-项目名字-app-main;在这个下面新建assets文件夹,不是在res,切记。测试的html代码如下,里面的链接可能失效,去腾讯视频再哪一个就行了
<!doctype html><html lang="zh-hans"><head> <meta charset="UTF-8"> <title>JavaScript</title></head><body><h1>标题</h1><iframe frameborder="0" width="640" height="498" src="https://v.qq.com/iframe/player.html?vid=k0531d46jwe&tiny=0&auto=0" allowfullscreen></iframe></body></html>
重要补充:20170810
对于webview.loadUrl();,如果你需要播放分享的地址,那么就不能传入带html标签的那一整段代码,因为那一段代码中包含宽度和高度,这样的话当你使用事会发现,不管你怎么调整webview的宽高都无济于事。所以,在传入的时候,只传入那个视频的地址。
对于视频的全屏监听:打开地址后会发现,点击暂停和播放好用,但是全屏就不好用了。这里有两种解决办法:
1.在webview右下角蒙一层透明的布局,点击之后去触发全屏的方法。(这个方法尤其对于当webview时recycleview的item,点击需要放大好用。当然,你要是想去监听暂停、全屏等等也不是没有办法)
2.第一种是一个投机取巧的方法,第二个就是真的方法了。参照如下博主的:http://blog.csdn.net/lx331675996/article/details/50634670,就可以实现了。
说了监听全屏,那对于全屏实现呢
1.首先,竖屏的时候,就是正常的大小,不需要做操作;放大的时候,既是全屏的时候,需要手机横屏,对于横竖屏切换会引发生命周期的改变,不做赘述。去activity节点下设置
android:configChanges="keyboardHidden|orientation|screenSize"
设置了之后,对于横竖屏的切换,只会走onConfigChanged()方法,如果是activity,就去拿到layoutPr...重新设置宽高。如果是webview在dialog里面,虽然也可以去设置dialog
的宽高,但是好像有问题?反正,我这样设置是有问题的,解决办法就是去onConfigChange中重新写弹出dialog的方法;另外,还需要考虑到横屏状态用户关闭视频需要回到竖屏状态。
- webview加载html代码(包含播发腾讯视频的分享代码)
- 腾讯视频分享代码
- 优酷、腾讯视频分享代码html替换通用
- webView 加载html代码乱码
- Android WebView 加载HTML代码
- 页面音乐和视频播发器代码
- webview加载腾讯视频功能的实现
- android 使用WebView获得加载网页的html代码
- 利用WebView加载我们本地的html代码
- WebView无法加载腾讯视频
- webview直接加载字符串型html代码
- Android webView加载html代码详解
- 在ScrollView中的WebView加载Html代码
- 使用webview加载网页中的html代码
- 用WebView加载Html代码片段
- webview加载html代码,其中代码中有图片
- Webview加载asset下的css文件和加载HTML代码
- XZ_iOS之使用webView加载后台返回的一串html代码,HTML中的图片不显示
- 微信小程序request请求后台接口php简单实例
- 前端-浏览器常见兼容性问题以及解决方案
- Swift 3必看:新的访问控制fileprivate和open
- 可循环使用的屏障CyclicBarrier
- c++正则表达式
- webview加载html代码(包含播发腾讯视频的分享代码)
- setInterval
- gulp简单使用
- R 语言 data.frame 添加行列
- 学习路径之机器学习(1)
- 【深度学习】笔记15 微软官方源码caffe的第一个测例Mnist训练运行配置
- kotlin学习(一)
- A
- KahaDB优化