Экран завершает в WebView - Youtube?

Следующий код делает Вашу функцию в совершенство: Он приносит меня в youtube, используя webview, а именно, не выходя из приложения и видео размножается верно. Проблема - следующая: Я не могу отправлять это, чтобы это помещать на полном экране.

Я попытался с двумя мобильными телефонами:

  • Один с 4.4.2: он дает мне выбор это поместить на полном экране, но дав ему не делает мне я ни вступаю в брак.
  • Другой с 6.0: у меня даже не выходит этот выбор.

Не возможно делать это? Я искал по этому поводу, но это немного ambigüo и он был на другом языке, посмотрим он какой-то достиг или знает об этой свойственной теме.

Это мой код:

public class Boxeo extends Fragment {

    WebView appWeb;
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.four_tab, container, false);

        String url = "https://www.youtube.com/playlist?list=PLxORtskANEIq4iBrXbMQvUtIQi_oDCk6c";
        appWeb = (WebView) v.findViewById(R.id.webView);
        //Habilitamos el javaScript y el zoom
        appWeb.getSettings().setJavaScriptEnabled(true);
        //appWeb.getSettings().setBuiltInZoomControls(true);
        //Cargamos el enlace definido
        appWeb.loadUrl(url);
        //Este método es para que el navegador se quede en nuestra aplicación
        appWeb.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
            }
        });

        return v;
    }

    @Override
    public void onResume(){
        super.onResume();
        appWeb.onResume();
    }

    @Override
    public void onPause(){
        super.onPause();
        appWeb.onPause();
    }
}

ОБНОВЛЕННЫЙ:

public class Boxeo extends Fragment {

    WebView appWeb;

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.four_tab, container, false);

    //poniendo _popup detras de "watch" en el enlace de un video, se veria en grande, pero solo 1 video.
        appWeb = (WebView) v.findViewById(R.id.webView);

      /*String url = "https://www.youtube.com/playlist?list=PLxORtskANEIq4iBrXbMQvUtIQi_oDCk6c";

        //Habilitamos el javaScript
        appWeb.getSettings().setJavaScriptEnabled(true);

        //appWeb.getSettings().setBuiltInZoomControls(true); Para zoom

        //Cargamos el enlace definido
        appWeb.loadUrl(url);

        appWeb.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return false;
            }
        });

        return v;*/


        String video = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 100%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"https://www.youtube.com/playlist?list=PLxORtskANEIq4iBrXbMQvUtIQi_oDCk6c\" frameborder=\"0\">\n"
                + "</iframe>\n";
        appWeb.getSettings().setPluginState(WebSettings.PluginState.ON);
        appWeb.setWebChromeClient(new WebChromeClient());
        appWeb.getSettings().setJavaScriptEnabled(true);
        appWeb.setHorizontalScrollBarEnabled(false);
        appWeb.setVerticalScrollBarEnabled(false);
        appWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        appWeb.getSettings().setBuiltInZoomControls(false);
        appWeb.getSettings().setAppCacheEnabled(true);
        appWeb.setInitialScale(0);
        appWeb.getSettings().setLoadWithOverviewMode(true);
        appWeb.getSettings().setUseWideViewPort(true);
        appWeb.loadData(video,"text/html","UTF-8");

        return v;

    }


    @Override
    public void onResume(){
        super.onResume();
        appWeb.onResume();
    }

    @Override
    public void onPause(){
        super.onPause();
        appWeb.onPause();
    }


}

17453-17453/com.prueba.rudeboys.rudeboys1 E/AndroidRuntime: ФАТАЛЬНЫЙ EXCEPTION: main Process: com.prueba.rudeboys.rudeboys1, PID: 17453 java.lang. NullPointerException: Виртуальный Attempt to invoke method 'android.webkit. WebSettings android.webkit. WebView.getSettings ()' on в null object reference at com.prueba.rudeboys.rudeboys1. Видео. Boxeo.onCreateView (Боксировать java:55) at android.support.v4.app. Fragment.performCreateView (Fragment.java:2074) at android.support.v4.app. FragmentManagerImpl.moveToState (FragmentManager.java:1104) at android.support.v4.app. FragmentManagerImpl.moveToState (FragmentManager.java:1286) at android.support.v4.app. BackStackRecord.run (BackStackRecord.java:758) at android.support.v4.app. FragmentManagerImpl.execPendingActions (FragmentManager.java:1671) at android.support.v4.app. FragmentManagerImpl$1.run (FragmentManager.java:532) at android.os. Handler.handleCallback (Handler.java:746) at android.os. Handler.dispatchMessage (Handler.java:95) at android.os. Looper.loop (Looper.java:148) at android.app. ActivityThread.main (ActivityThread.java:5443) at java.lang.reflect. Method.invoke (Нативе Метод) at com.android.internal.os. ZygoteInit $MethodAndArgsCaller.run (ZygoteInit.java:728) at com.android.internal.os. ZygoteInit.main (ZygoteInit.java:618)

3
задан 28.01.2017, 00:46
1 ответ

Ты можешь видеть этот repo

Или использовать iframe:

String video = "<html><body>Youtube video .. <br> <iframe class=\"youtube-player\" type=\"text/html\" width=\"640\" height=\"385\" src=\"https://www.youtube.com/playlist?list=PLxORtskANEIq4iBrXbMQvUtIQi_oDCk6c\"   allowfullscreen=\"allowfullscreen\" frameborder=\"0\"></body></html>"

appWeb.setWebChromeClient(new WebChromeClient());
appWeb.getSettings().setMediaPlaybackRequiresUserGesture(false);
appWeb.loadData(video , "text/html", "utf-8");

Или доказательство этой формы:

String video = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 100%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"https://www.youtube.com/playlist?list=PLxORtskANEIq4iBrXbMQvUtIQi_oDCk6c\" frameborder=\"0\">\n"
                + "</iframe>\n";
        appWeb.getSettings().setPluginState(PluginState.ON);
        appWeb.setWebChromeClient(new WebChromeClient());
        appWeb.getSettings().setJavaScriptEnabled(true);
        appWeb.setHorizontalScrollBarEnabled(false);
        appWeb.setVerticalScrollBarEnabled(false);
        appWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        appWeb.getSettings().setBuiltInZoomControls(false);
        appWeb.getSettings().setAppCacheEnabled(true);
        appWeb.setInitialScale(0);
        appWeb.getSettings().setLoadWithOverviewMode(true);
        appWeb.getSettings().setUseWideViewPort(true);
        appWeb.loadData(video,"text/html","UTF-8");
2
ответ дан 24.11.2019, 11:26
  • 1
    string видео (последнее) я должен заменять все на этот код? Я это поместил, посмотрим пойди, я это заменил create поэтому последний, давайте видеть qué такой. – Rf Mvs 26.01.2017, 21:15
  • 2
    Меня разбивает App вводя ú ltimo, что я врежу? Наверху будь обновлен Вашим корреспондентом log – Rf Mvs 26.01.2017, 21:21
  • 3
    Я помещаю немного có я говорю для того, чтобы я не был разбит, и он это не делает, но у меня не выходит ничто.... có mo я должен сочетать это, чтобы видеть, функционирует ли оно? Этот có я говорю не sé точно có mo размещать это. – Rf Mvs 26.01.2017, 21:31
  • 4
    Когда ты сможешь я ayudarí схвати много отвечая этих ú ltimas сомнения относительно твоего ответа, приветствия. – Rf Mvs 27.01.2017, 14:14
  • 5
    Потому что repo, который ты переместил меня, - слишком длинный, и у меня есть сомнения в iframe – Rf Mvs 27.01.2017, 15:38