Add X5WebView implementation with JavaScript injection, fullscreen, and optimization features.
This commit is contained in:
parent
1fcca306a0
commit
3d7ea242c1
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.github.catvod.web;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.View;
|
||||||
|
import android.webkit.WebChromeClient;
|
||||||
|
import android.webkit.WebSettings;
|
||||||
|
import android.webkit.WebView;
|
||||||
|
import android.webkit.WebViewClient;
|
||||||
|
|
||||||
|
public class X5WebView extends WebView {
|
||||||
|
|
||||||
|
public X5WebView(Context context) {
|
||||||
|
super(context);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
public X5WebView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
public X5WebView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
|
super(context, attrs, defStyleAttr);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init() {
|
||||||
|
WebSettings webSettings = getSettings();
|
||||||
|
webSettings.setJavaScriptEnabled(true);
|
||||||
|
webSettings.setSupportZoom(true);
|
||||||
|
webSettings.setLoadWithOverviewMode(true);
|
||||||
|
webSettings.setUseWideViewPort(true);
|
||||||
|
webSettings.setDomStorageEnabled(true);
|
||||||
|
|
||||||
|
setWebViewClient(new WebViewClient());
|
||||||
|
setWebChromeClient(new WebChromeClient());
|
||||||
|
|
||||||
|
// JavaScript injection for CCTV playback
|
||||||
|
loadUrl("javascript:(function() { " +
|
||||||
|
"document.getElementById('video').play();" +
|
||||||
|
"document.documentElement.requestFullscreen();" +
|
||||||
|
"})()");
|
||||||
|
|
||||||
|
// Page optimization features
|
||||||
|
setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue