1. Cambiar el archivo de manifiesto
La actividad en la declaración que se colocan en WebView agregue el código siguiente:
android: hardwareAccelerated = "true"
Android: configChanges = "orientación | ScreenSize | keyboardHidden"
2. cambio de clase de Java
1. Ajustes de vista Web de inicialización:
@JavascriptInterface
initWebView private void () {
WebSettings mWebSettings = mWebView.getSettings ();
mWebSettings.setSupportZoom (true);
mWebSettings.setLoadWithOverviewMode (true);
mWebSettings.setUseWideViewPort (true);
mWebSettings.setDefaultTextEncodingName ( "UTF-8");
mWebSettings.setLoadsImagesAutomatically (true);
mWebSettings.setBlockNetworkImage (false); // resolver la imagen no muestra
mWebSettings.setTextZoom (100); // establecer el nivel de zoom predeterminado, siga el sistema para evitar que el tamaño de página de cambio de fuente
@ {// proyectos pendientes
mWebSettings.setAllowFileAccess (true);
mWebSettings.setJavaScriptCanOpenWindowsAutomatically (true);
mWebSettings.setDomStorageEnabled (true); // debe ser preservado, de lo contrario no se puede reproducir vídeo Youku, el otro OK
tratar {
si (Build.VERSION.SDK_INT> = 16) {
clazz class = mWebSettings.getClass ();
método Método = clazz.getMethod ( "setAllowUniversalAccessFromFileURLs", boolean.class);
si (método! = null) {
method.invoke (mWebSettings, true);
}
}
} Catch (Exception e) {
e.printStackTrace ();
}
mWebSettings.setPluginState (WebSettings.PluginState.ON);
CookieManager CookieManager = CookieManager.getInstance ();
cookieManager.setAcceptCookie (true);
// @}
// llamar al método JS. Versión de Android es mayor que 17, añadir comentarios @JavascriptInterface
mWebSettings.setJavaScriptEnabled (true);
si (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) {
mWebSettings.setMixedContentMode (android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.setWebChromeClient (webChromeClient);
}
Propiedad se establece para indicar los proyectos pendientes prescindible, no afecta al papel de dicha funcionalidad se implementa. Aplicación Agente Newell
2. Para lograr cromo Agente:
WebChromeClient webChromeClient = new WebChromeClient () {
WebChromeClient.CustomViewCallback mCallback;
@Anular
onShowCustomView public void (Ver vista, CustomViewCallback devolución de llamada) {
pantalla completa();
mCallback = devolución de llamada;
super.onShowCustomView (vista, de devolución de llamada);
}
@Anular
onHideCustomView public void () {
pantalla completa();
super.onHideCustomView ();
}
};
fullScreen private void () {
si (getResources (). getConfiguration (). orientación == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
LogUtil.i (TAG + "横 屏");
} Else {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
LogUtil.i (TAG + "竖 屏");
}
}
3. reescritura método onConfigurationChanged:
@Anular
onConfigurationChanged public void (Configuración newconfig) {
super.onConfigurationChanged (newconfig);
interruptor (newConfig.orientation) {
Configuration.ORIENTATION_LANDSCAPE caso:
. GetWindow () clearFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);
descanso;
Configuration.ORIENTATION_PORTRAIT caso:
. GetWindow () clearFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);
. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
descanso;
}
}
OK, siga los pasos anteriores después de pegar terminado y listo! Se puede copiar un enlace a esta página para abrir la plataforma Live, y luego haga clic en la pantalla completa para ver la prueba en vivo.