android WebView assistir vídeo em tela cheia em tela cheia Assista ao vivo

1. Alterar o arquivo de manifesto

Atividade na declaração de que está colocado no WebView adicionar o código a seguir:

android: hardwareAccelerated = "true"

android: configChanges = "orientação | screensize | keyboardHidden"

2. mudança de classe Java

1. configurações de inicialização WebView:

@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 a imagem não mostra

mWebSettings.setTextZoom (100); // definir o nível de zoom padrão, siga o sistema para evitar o tamanho da fonte mudança de página

@ {projectos // pendentes

mWebSettings.setAllowFileAccess (true);

mWebSettings.setJavaScriptCanOpenWindowsAutomatically (true);

mWebSettings.setDomStorageEnabled (true); // deve ser preservado, caso contrário você não pode reproduzir vídeo Youku, o outro OK

experimentar {

if (Build.VERSION.SDK_INT> = 16) {

Classe clazz = mWebSettings.getClass ();

Método = clazz.getMethod ( "setAllowUniversalAccessFromFileURLs", boolean.class);

if (método! = null) {

method.invoke (mWebSettings, verdadeiro);

}

}

} Catch (exceção e) {

e.printStackTrace ();

}

mWebSettings.setPluginState (WebSettings.PluginState.ON);

CookieManager cookieManager = CookieManager.getInstance ();

cookieManager.setAcceptCookie (true);

// @}

// chama o método JS. Versão Android é maior do que 17, adicionar comentários @JavascriptInterface

mWebSettings.setJavaScriptEnabled (true);

if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) {

mWebSettings.setMixedContentMode (android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

mWebView.setWebChromeClient (webChromeClient);

}

Propriedade é definida para indicar os projectos pendentes dispensável, não afeta o jornal disse que a funcionalidade é implementada. Aplicação Agente Newell

2. Para alcançar cromo agente:

WebChromeClient webChromeClient = novo WebChromeClient () {

WebChromeClient.CustomViewCallback mCallback;

@Sobrepor

onShowCustomView public void (Ver vista, CustomViewCallback callback) {

tela cheia();

mCallback = chamada de retorno;

super.onShowCustomView (ver, de retorno de chamada);

}

@Sobrepor

onHideCustomView public void () {

tela cheia();

super.onHideCustomView ();

}

};

fullScreen private void () {

se (getResources (). getConfiguration (). orientação == Configuration.ORIENTATION_PORTRAIT) {

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

LogUtil.i (TAG + "横 屏");

} outro {

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

LogUtil.i (TAG + "竖 屏");

}

}

3. Método de reconfiguração onConfigurationChanged:

@Sobrepor

public void onConfigurationChanged (Configuração newconfig) {

super.onConfigurationChanged (NEWCONFIG);

switch (newConfig.orientation) {

caso Configuration.ORIENTATION_LANDSCAPE:

. GetWindow () ClearFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);

pausa;

caso Configuration.ORIENTATION_PORTRAIT:

. GetWindow () ClearFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);

. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

pausa;

}

}

OK, siga os passos acima depois de colar terminado e pronto! Você pode copiar um link para esta página para abrir a plataforma Live e, em seguida, clique na tela cheia para assistir teste ao vivo.

Acho que você gosta

Origin blog.51cto.com/14511863/2477578
Recomendado
Clasificación