Reputation: 43
So i'm trying to play a video file from Google drive by android WebView with the URL: https://drive.google.com/a/{sthing...}/file/d/{FILE_ID}/view?usp=drivesdk
However i keep getting the error logs from chromnium
when pressing the PLAY button
I/chromium: [INFO:CONSOLE(1341)] "Uncaught (in promise) Error: Untrusted URL: https://youtube.googleapis.com/videoplayback?...", source: ... (1341)
An unable to play the video. I've tried with
webview.setWebChromeClient(new WebChromeClient())
and
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed(); // Ignore SSL certificate errors
}
But can't seems to get the video to play.
Is there anyway to play GoogleDrive's video with Android WebView? Thanks in advance.
My code:
webPreviewDocument.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
progressBar.setVisibility(View.GONE);
}
});
WebSettings webSettings = webPreviewDocument.getSettings();
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
webSettings.setLoadWithOverviewMode(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);
webSettings.setSaveFormData(false);
webSettings.setDomStorageEnabled(true);
webSettings.setAllowFileAccess(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
webPreviewDocument.loadUrl(url);
Upvotes: 4
Views: 3085
Reputation: 1003
I had the same problem and this worked for me :
CookieManager.getInstance().setAcceptCookie(true);
if (android.os.Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
}
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new MyWebChromeClient());
Upvotes: 10
Reputation:
Add these lines before loading HTML content to your WebView.
webView.Settings.PluginsEnabled = true;
webView.Settings.JavaScriptEnabled = true;
webView.Settings.SetPluginState (WebSettings.PluginState.On);
webView.SetWebViewClient (new WebViewClient ());
Upvotes: 0