webview video fullscreen shows download option









up vote
1
down vote

favorite












A website has video, I'm unable to set fullscreen (landscape) mode, but when I click fullscreen icon in a video, it shows download option when clicked on a three-dot menu, please refer attached image.



enter image description here



enter image description here



Following is my code (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>


Problem:
1. Unable to set default landscape mode when clicking on video full-screen option.
2. Need to remove download option.



Please help, Thank you.










share|improve this question



























    up vote
    1
    down vote

    favorite












    A website has video, I'm unable to set fullscreen (landscape) mode, but when I click fullscreen icon in a video, it shows download option when clicked on a three-dot menu, please refer attached image.



    enter image description here



    enter image description here



    Following is my code (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>


    Problem:
    1. Unable to set default landscape mode when clicking on video full-screen option.
    2. Need to remove download option.



    Please help, Thank you.










    share|improve this question

























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      A website has video, I'm unable to set fullscreen (landscape) mode, but when I click fullscreen icon in a video, it shows download option when clicked on a three-dot menu, please refer attached image.



      enter image description here



      enter image description here



      Following is my code (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>


      Problem:
      1. Unable to set default landscape mode when clicking on video full-screen option.
      2. Need to remove download option.



      Please help, Thank you.










      share|improve this question















      A website has video, I'm unable to set fullscreen (landscape) mode, but when I click fullscreen icon in a video, it shows download option when clicked on a three-dot menu, please refer attached image.



      enter image description here



      enter image description here



      Following is my code (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>


      Problem:
      1. Unable to set default landscape mode when clicking on video full-screen option.
      2. Need to remove download option.



      Please help, Thank you.







      android video webview android-webview






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 days ago









      Kling Klang

      32k156286




      32k156286










      asked 2 days ago









      Pratik Pitale

      5131523




      5131523



























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237817%2fwebview-video-fullscreen-shows-download-option%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237817%2fwebview-video-fullscreen-shows-download-option%23new-answer', 'question_page');

          );

          Post as a guest














































































          這個網誌中的熱門文章

          Barbados

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3