【问题标题】:Not opening in WebView but in browser不在 WebView 中打开,而是在浏览器中打开
【发布时间】:2011-07-14 05:43:40
【问题描述】:

我想在 WebView 中打开以下链接

https://tickets.musiconelive.com/admin/SACValidateBarcode.asp

我正在使用以下代码来做到这一点

web=(WebView)findViewById(R.id.web);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("https://tickets.musiconelive.com/admin/SACValidateBarcode.asp");

但它没有在 WebView 中打开,而是在浏览器中打开。

我该如何解决这个问题?

【问题讨论】:

标签: android webview


【解决方案1】:

希望对你有帮助

        WebSettings mWebSettings;

        WebView mWebView = (WebView)findViewById(R.id.services_detail_magnified_image);
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
        mWebView.setBackgroundColor(Color.TRANSPARENT);
        mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_INSET);

        mWebView.loadUrl(StaticURL.uChangePassword);
        mWebView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient { 
        @Override 
        //show the web page in webview but not in web browser
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl (url); 
            return true;
        } 
    }

【讨论】:

  • 你好,此代码仅适用于单个 webview。我想在 listview 中添加 wegview。是否可行?想在 webview 中播放 gif ..您还可以查看我的问题的链接。
  • 对我来说是这样工作的:mWebView.setWebViewClient(new WebViewClient());所以没有必要创建一个额外的类
【解决方案2】:

我认为这会对您有所帮助。

 package com.adySol;
 import android.app.Activity;
 import android.os.Bundle;
 import android.webkit.WebSettings.PluginState;
 import android.webkit.WebView;

 public class adySol extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


 String url ="http://tickets.musiconelive.com/admin/SACValidateBarcode.asp";
 WebView wv=(WebView) findViewById(R.id.webView1);
 wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginState(PluginState.ON);
    wv.getSettings().setAllowFileAccess(true); 
 wv.loadUrl(url);
    }
  }   

Main.xml::

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
>
 <WebView android:id="@+id/webView1" android:layout_width="match_parent"  android:layout_height="match_parent"></WebView>

</LinearLayout>  

清单权限

 <uses-permission android:name="android.permission.INTERNET"></uses-permission>

【讨论】:

  • 我找不到 setPluginState() 和 PluginState.On
  • 我已经更新了我的代码,请观看它仍然有问题然后ping我
  • 我认为你需要导入一些我给你的库(crtl + shift + o)
  • 我不想将 https 更改为 http,因为它会影响 url 的操作部分
【解决方案3】:

你需要设置WebViewClient()

This is example in kotlin
webview.apply {
            loadUrl("https://www.google.com/")
            webViewClient = WebViewClient()
        }

根据安卓文档 public void setWebViewClient(WebViewClient 客户端) 设置将接收各种通知和请求的 WebViewClient。这将替换当前的处理程序。

【讨论】:

    【解决方案4】:
        webView=findViewById(R.id.webView);        
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR)
        webView.setBackgroundColor(Color.TRANSPARENT);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_INSET);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        webView.getSettings().setAllowFileAccess(true);
        webView.setWebViewClient(MyWebViewClient());
        webView.loadUrl("https://google.com/");
    
    
    
    class MyWebViewClient extends WebViewClient() {
        @override
        boolean  shouldOverrideUrlLoading(WebView view , WebResourceRequest request) {
            return super.shouldOverrideUrlLoading(view, request)
        }
    }
    

    【讨论】:

    • 无意义覆盖
    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2018-02-16
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多