我的项目中后台返回的直接就是一个播放视频的地址
比如:优酷的:“https://v.youku.com/v_show/id_XMjk4NjA5MzMyNA==.html?spm=a2hww.20023042.m_223465.5555!25!25A”
布局文件就是一个webview,自己写就行。
首先要在active中初始化你的webview。
private video_url = "https://v.youku.com/v_show/id_XMjk4NjA5MzMyNA==.html?spm=a2hww.20023042.m_223465.5555!25!25A"
核心代码:
WebSettings webSettings= webView1.getSettings();
webSettings.setDefaultTextEncodingName("utf-8") ;//这句话去掉也没事。。只是设置了编码格式
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);//必须保留。。否则无法播放优酷视频网页。。其他的可以
webView1.setWebChromeClient(new WebChromeClient());//重写一下。有的时候可能会出现问题
webView1.setWebViewClient(new WebViewClient(){//不写的话自动跳到默认浏览器了。。跳出APP了。。
public boolean shouldOverrideUrlLoading(WebView view, String url) {//这个方法必须重写。否则会出现优酷视频周末无法播放。周一-周五可以播放的问题
if(url.startsWith("intent")||url.startsWith("youku")){
return true;
}else{
return super.shouldOverrideUrlLoading(view, url);
}
}
});
webView1.loadUrl(video_url);//我这里的地址用的是固定的
而做完这些,我们还需要写一个退出页面,视频注销,停止播放的方法。
@Override
protected void onPause () {
webView1.reload ();
super.onPause ();
}
这样就可以了