-
-
Save andreikastsiuk/d696f181fc0477f2cbb4e28a9372b816 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 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