为什么互联网不能在模拟器上运行,而是在真实设备上运行? (Android 工作室)
Why is the internet not working on emulator but working on real device? (Android Studio)
NOTE: This question is not intended to find a solution for a problem. It is directed towards finding information of why is the problem happening.
我创建了一个应用程序,它应该可以访问互联网。 但是我没有添加行
<uses-permission android:name="android.permission.INTERNET" /
到清单文件,这应该会导致应用程序无法访问互联网。它无法在模拟器中访问互联网(显然)。然而,在我的 phone 中,它工作得很好(即我可以通过应用程序访问互联网!!!)。
为什么会这样?
如果您正在创建 Intent
并在 Chrome 或其他非您的应用中打开 url,则您的应用不需要 INTERNET
权限。但是,如果您的应用将 WebView
作为 UI 组件,并且您尝试在此 WebView
上加载 url,则需要该权限。
为避免 loadUrl(...)
打开浏览器问题,请在调用 loadUrl(...)
之前添加此行:
myWebView.setWebViewClient(new WebViewClient());
如果您先 运行 模拟器然后连接到互联网,则模拟器和您的应用程序将无法连接互联网,因此请尝试关闭并再次打开模拟器。
NOTE: This question is not intended to find a solution for a problem. It is directed towards finding information of why is the problem happening.
我创建了一个应用程序,它应该可以访问互联网。 但是我没有添加行
<uses-permission android:name="android.permission.INTERNET" /
到清单文件,这应该会导致应用程序无法访问互联网。它无法在模拟器中访问互联网(显然)。然而,在我的 phone 中,它工作得很好(即我可以通过应用程序访问互联网!!!)。
为什么会这样?
如果您正在创建 Intent
并在 Chrome 或其他非您的应用中打开 url,则您的应用不需要 INTERNET
权限。但是,如果您的应用将 WebView
作为 UI 组件,并且您尝试在此 WebView
上加载 url,则需要该权限。
为避免 loadUrl(...)
打开浏览器问题,请在调用 loadUrl(...)
之前添加此行:
myWebView.setWebViewClient(new WebViewClient());
如果您先 运行 模拟器然后连接到互联网,则模拟器和您的应用程序将无法连接互联网,因此请尝试关闭并再次打开模拟器。