Веб-просмотр видео в полноэкранном режиме показывает возможность загрузки - PullRequest
0 голосов
/ 10 ноября 2018

На веб-сайте есть видео, я не могу установить полноэкранный (альбомный) режим, но когда я нажимаю на полноэкранный значок в видео, при нажатии в трехточечном меню отображается опция загрузки, см. Прикрепленное изображение.

enter image description here

enter image description here

Ниже приведен мой код (WebChromeClient):

private class MyChrome extends WebChromeClient {

    private View mCustomView;
    private WebChromeClient.CustomViewCallback mCustomViewCallback;
    protected FrameLayout mFullscreenContainer;
    private int mOriginalOrientation;
    private int mOriginalSystemUiVisibility;

    MyChrome() {}

    public Bitmap getDefaultVideoPoster() {
        if (mCustomView == null) {
            return null;
        }
        return BitmapFactory.decodeResource(getApplicationContext().getResources(), 2130837573);
    }

    public void onHideCustomView() {
        ((FrameLayout)getWindow().getDecorView()).removeView(this.mCustomView);
        this.mCustomView = null;
        getWindow().getDecorView().setSystemUiVisibility(this.mOriginalSystemUiVisibility);
        setRequestedOrientation(this.mOriginalOrientation);
        this.mCustomViewCallback.onCustomViewHidden();
        this.mCustomViewCallback = null;
    }

    public void onShowCustomView(View paramView, WebChromeClient.CustomViewCallback paramCustomViewCallback) {
        if (this.mCustomView != null) {
            onHideCustomView();
            return;
        }
        this.mCustomView = paramView;
        this.mOriginalSystemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();
        this.mOriginalOrientation = getRequestedOrientation();
        this.mCustomViewCallback = paramCustomViewCallback;
        ((FrameLayout)getWindow().getDecorView()).addView(this.mCustomView, new FrameLayout.LayoutParams(-1, -1));
        getWindow().getDecorView().setSystemUiVisibility(3846);
    }

    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        return super.onJsAlert(view, url, message, result);
    }
}

OnCreate ():

private void initWebView() {
    mWebView.setWebViewClient(new WebViewLoader());
    mWebView.setHorizontalScrollBarEnabled(false);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setUseWideViewPort(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.getSettings().setAllowFileAccess(true);

    if (Build.VERSION.SDK_INT >= 21) {
        mWebView.getSettings().setMixedContentMode(0);
        mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    } else if (Build.VERSION.SDK_INT >= 19) {
        mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    } else {
        mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
    mWebView.loadUrl("URL");
    mWebView.setDownloadListener(new DownloadListener() {
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
            String pdfurl = url;
            String googleDocsUrl = pdfurl;
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.parse(googleDocsUrl ), "application/pdf");
            startActivity(intent);
        }
    });
    mWebView.setWebChromeClient(new MyChrome());
    webViewBack();
}

Manifest:

<activity android:name=".MainActivity"
            android:hardwareAccelerated="true"
            android:configChanges="orientation|keyboardHidden|screenSize"> 
</activity>

Проблема: 1. Невозможно установить альбомный режим по умолчанию при нажатии на видео в полноэкранном режиме. 2. Нужно удалить опцию загрузки.

Пожалуйста, помогите, спасибо.

...