【问题标题】:Android webview can't connect to local ip addressAndroid webview无法连接到本地ip地址
【发布时间】:2020-12-10 05:31:50
【问题描述】:

我在一个简单的 android 应用程序中有一个 webView 类。我正在尝试让 webView 加载托管在我的本地网络上的服务器上的网页,但它无法连接。

WebView webview = new WebView(this);
setContentView(webview);
webview.loadUrl("192.168.1.104");

webView 显示“网页不可用”

我可以在普通浏览器和任何移动浏览器中连接到 192.168.1.104。 当我将 192.168.1.104 替换为 http://example.com 时,它可以工作。

【问题讨论】:

  • 我假设您的手机已经连接到同一个网络,尽管我能想到的只是将协议添加到您的 URL http://192.168.1.104。也许它有帮助。
  • 是的,该电话与 192.168.1.104 在同一网络上。当我将 http:// 添加到本地 url 时,webview 会在我的手机上使用该地址启动一个浏览器。
  • 您正在运行的 Web 应用程序的端口号在哪里?什么是 logcat 输出?您的清单中是否提供了互联网许可?是否有任何其他网站从您的模拟器浏览器启动?

标签: android mobile webview


【解决方案1】:

您是否在 AndroidManifest.xml 中添加了互联网权限?

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

【讨论】:

    【解决方案2】:

    只需在下面添加这些代码,它将在 lan 中显示您的页面:

        public void onCreate(Bundle savedInstanceState) {
            Log.i(TAG, "Entering onCreate");
            super.onCreate(savedInstanceState);
            setContentView(R.layout.webview);
    
            mWebView = (WebView)findViewById(R.id.webview);
            mWebView.clearCache(true);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("http://10.0.2.2:8080/SampleWebServer/Welcome.html");
            Log.i(TAG,"Exiting onCreate");
    }    
    

    mWebView.getSettings().setJavaScriptEnabled(true);

    就是这样!

    【讨论】:

    • 确实如此!
    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多