-
-
Save murillomarigo/ed36f7e066552536bde7fb153b1ce7d2 to your computer and use it in GitHub Desktop.
simple trick to autoplay an html5 video element in a webview. (inject javascript to play on load)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.annotation.SuppressLint; | |
import android.app.Activity; | |
import android.os.Bundle; | |
import android.webkit.WebChromeClient; | |
import android.webkit.WebSettings; | |
import android.webkit.WebView; | |
import android.webkit.WebViewClient; | |
public class MainActivity extends Activity { | |
private WebView webview; | |
@SuppressLint("SetJavaScriptEnabled") | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
webview = new WebView(this); | |
setContentView(webview); | |
final WebSettings settings = webview.getSettings(); | |
settings.setJavaScriptEnabled(true); | |
settings.setJavaScriptCanOpenWindowsAutomatically(true); | |
settings.setPluginState(WebSettings.PluginState.ON); | |
webview.setWebViewClient(new WebViewClient() { | |
// autoplay when finished loading via javascript injection | |
public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } | |
}); | |
webview.setWebChromeClient(new WebChromeClient()); | |
webview.loadUrl("http://html5demos.com/video"); | |
} | |
@Override | |
protected void onPause() { | |
super.onPause(); | |
webview.onPause(); | |
} | |
@Override | |
protected void onResume() { | |
webview.onResume(); | |
super.onResume(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment