当前位置: 首页 > 知识库问答 >
问题:

禁用WIFI时,android UrlConnection.GetInputStream引发异常

邓俊英
2023-03-14

这个问题只是当WIFI被禁用并且phone正在使用移动数据的时候。如果我有WIFI连接,那么应用程序可以正常工作。

以下是代码详细信息:

清单:

uses-permission Android:name=“android.permission.internet”

uses-permissionandroid:name=“android.permission.access_network_state”

StringBuilder content = new StringBuilder();

try {
    URL url = new URL(theUrl);
    URLConnection urlConnection = url.openConnection();
    BufferedReader bufferedReader = new BufferedReader(
            new InputStreamReader(urlConnection.getInputStream()), 8);
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        content.append(line + "\n");
    }
    bufferedReader.close();

}catch (Exception e) {
    e.printStackTrace();
}

return content.toString();

java.net.UnknownHostException:无法解析主机“maps.googleapis.com”:没有与主机名关联的地址

其中url值为:

https://maps.googleapis.com/maps/api/place/search/json?&location=42.2793153-71.5005702&radius=5000&types=restaurant&sensor=false&key=aizasydx-nkc9ofd_jw-73nwyfeaqfgfwzs6wri

这个url在粘贴到web地址中时,工作很好,并且给我提供了正确的html" target="_blank">json值。

此外,当连接WIFI时,也不会发生这种例外情况。

任何帮助都将不胜感激。

共有1个答案

乐正育
2023-03-14

UnknownHostException表示无法解析服务器地址,因为没有internet(DNS)连接。那可能发生。因为移动数据传输被禁用(设备或操作员端)或连接设置(APN)不正确。

 类似资料:
  • 编辑似乎不可能在此刻归档一个问题。 我正在apache camel应用程序中使用log4j2。在骆驼中,可以通过这种方式配置文件名 编辑,非常容易在测试中重现: 它对美元{date:}至关重要--只有“data:now”起作用。所以这个问题完全独立于camel,但是camel使用了${date:...}几件事的模式。这里有一个重现问题的简单路线--异常将在骆驼设置阶段抛出--不需要测试代码--日志

  • 问题内容: 当我使用下面的代码时,在什么情况下会得到异常。 任何人都可以帮忙吗???????? 问题答案: HTTP状态代码是服务器的响应,因此,如果您控制服务器,则可以使其返回所需的任何错误。如果您无法控制服务器,则可以尝试发送错误/无效的请求,以便服务器进行投诉。 在服务器端这样的事情:

  • 我尝试在我的Xamarin Ui测试中以编程方式启用/禁用wifi。< br >我已经找到了这个:Android:如何以编程方式启用/禁用Wifi或互联网连接。但是它似乎根本不起作用。< br> 我还尝试了这样的方法: 第一行 (Android.App.Application.Context) 会引发一个异常: 我正在使用以下命名空间: 我的项目引用了< code>Mono。Android。

  • editable.FTL 什么是正确的方法来导入到我的模板。我尝试使用cfg.addautoimport(“me”,“editable.ftl”)。当我试图处理我的主模板时,会引发以下异常。 错误[FreeMarker.runtime](http-localhost-127.0.0.1-8080-1)执行FreeMarker模板时出错:FreeMarker.core.InvalidReferenc

  • 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。 如何引发异常 例13.2 如何引发异常 #!/usr/bin/python # Filename: raising.py classShortInputException(Exception):     '''A u