【问题标题】:How to add settings for Android web-view that works for both mobile and non mobile friendly URLS?如何添加适用于移动和非移动友好 URL 的 Android 网络视图设置?
【发布时间】:2023-03-28 14:24:01
【问题描述】:

    webView = (WebView) findViewById(R.id.take_webview);
    webView.getSettings()
            .setUserAgentString("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0");
    webView.getSettings().setBuiltInZoomControls(true);

    webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebViewClient(new CustomWebClient());

    Log.d("Feedback url is ", url);
    // enable javascript

    webView.loadUrl(url);

我使用了上述设置,它适用于非移动友好的 url,但是当我使用移动友好的 url 时,web-view 表现为桌面视图。 请帮我解决这个问题。

【问题讨论】:

    标签: android url webview settings


    【解决方案1】:
        webView.setWebChromeClient(new MyWebChromeClient());
    
        private class MyWebChromeClient extends WebChromeClient {
    
        // display alert message in Web View
        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            // Log.d(LOG_TAG, message);
            new AlertDialog.Builder(view.getContext()).setMessage(message).setCancelable(true).show();
            result.confirm();
            return true;
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      试试这些代码行。

         WebSettings settings = webView.getSettings();
      
          settings.setJavaScriptEnabled(true);
          webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
      
          webView.getSettings().setBuiltInZoomControls(true);
          webView.getSettings().setUseWideViewPort(true);
          webView.getSettings().setLoadWithOverviewMode(true);
      
          progressDialog = new ProgressDialog(YOUR_ACTIVITY.this);
          progressDialog.setMessage("Loading...");
          progressDialog.show();
      
          webView.setWebViewClient(new WebViewClient() {
              @Override
              public boolean shouldOverrideUrlLoading(WebView view, String url) {
                  view.loadUrl(url);
                  return true;
              }
      
              @Override
              public void onPageFinished(WebView view, String url) {
                  if (progressDialog.isShowing() ) {
                      progressDialog.dismiss();
                  }
              }
      
              @Override
              public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                  Toast.makeText(ContestActivity.this, "Error:" + description, Toast.LENGTH_SHORT).show();
      
              }
          });
          webView.loadUrl("YOUR URL HERE");
      

      【讨论】:

      • @PeddiRaju ...它没有在桌面上打开兄弟...你的网址是正确的吗??
      • ok....什么类型的手机视图,它的节目?你能告诉我你现在面临什么确切的问题......或者你可以发送带有这些问题的手机截图......我将能够解决你的问题
      • 好的..让我在最后尝试一下...很快会更新您的信息...哪个 URL 表现为桌面视图...?? ...是一个 ssl.capwiz.com/ahca/lrm/feedback.tt?event=45235
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 2012-08-22
      • 2023-03-15
      • 2023-02-13
      相关资源
      最近更新 更多