Android Веб-приложение показывает черный экран, когда я его открываю - PullRequest
2 голосов
/ 15 марта 2020

Android Приложение weview, которое я скомпилировал в andriod studio, вылетает сразу с черным экраном при открытии. Приложение использует встроенный URL-адрес iframe. Компилируется нормально, но при открытии вылетает с черным экраном.

Почему происходит сбой?

public class MainActivity extends AppCompatActivity {
    private WebView zwebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String Video;
        Video  = "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/eGPbD-f0b_A\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>";
        WebSettings webSettings = zwebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        zwebView.setInitialScale(1);
        zwebView.getSettings().setAllowFileAccess(true);
        zwebView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
        zwebView.setWebChromeClient(new WebChromeClient());
        zwebView.getSettings().setJavaScriptEnabled(true);
        zwebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        zwebView.getSettings().setLoadWithOverviewMode(true);
        zwebView.getSettings().setUseWideViewPort(true);

        zwebView.getSettings().setAppCacheEnabled(true);

        zwebView.loadData(Video, "text/html", "utf-8");

        zwebView = (WebView) findViewById(R.id.myWebView);
        zwebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) {
                webView.loadUrl(request.getUrl().toString());
                return true;
            }
        });

        zwebView.loadUrl(Video);

1 Ответ

1 голос
/ 16 марта 2020

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

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        WebView zwebView = new WebView(this);

        String Video;
        Video  = "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/eGPbD-f0b_A\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>";
        WebSettings webSettings = zwebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        zwebView.setInitialScale(1);
        zwebView.getSettings().setAllowFileAccess(true);
        zwebView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
        zwebView.setWebChromeClient(new WebChromeClient());
        zwebView.getSettings().setJavaScriptEnabled(true);
        zwebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        zwebView.getSettings().setLoadWithOverviewMode(true);
        zwebView.getSettings().setUseWideViewPort(true);

        zwebView.getSettings().setAppCacheEnabled(true);

        zwebView.loadData(Video, "text/html", "utf-8");

        zwebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) {
                webView.loadUrl(request.getUrl().toString());
                return true;
            }
        });

        zwebView.loadUrl(Video);

        setContentView(zwebView);
    }
}

Здесь это код, который я использую, и он работает. в конце концов, не рухнет.

...