版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/foolish0421/article/details/84105721
公司有个项目,需要在webview中加载视频,用到了webrtc技术。Android 4.4以后,浏览器内核采用的chromium,可以支持webrtc。所以基本上对于新出的手机,自动支持webrtc。使用webview时,只需要在代码中实现WebChromeClient的onPermissionRequest方法即可。只是为了针对特定网页申请的权限给予授权或者拒绝。代码如下:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
Log.d("MainActivity", "onPermissionRequest");
MainActivity.this.runOnUiThread(new Runnable() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void run() {
if(request.getOrigin().toString().equals("https://janus.conf.meetecho.com/streamingtest.html")) {
request.grant(request.getResources());
} else {
request.deny();
}
}
});
}
});
而对于4.4以前的系统,默认的浏览器内核是webkit,对webrtc支持不好。有些手机厂商又喜欢修改rom,如果对chromium内核做了修改,也可能造成webrtc不能正常运行。这时候,可以在应用中集成第三方的浏览器内核,常见的有腾讯的X5,intel的CrossWalk。他们官网都有相应的文档和demo,这里就不赘述了。