Dinario Asked:2020-05-02 23:14:27 +0000 UTC2020-05-02 23:14:27 +0000 UTC 2020-05-02 23:14:27 +0000 UTC 不断的互联网检查 772 应用程序如何检查互联网?那些。如果在应用程序运行过程中没有互联网或互联网丢失,则需要显示一条消息。如何实施? java 2 个回答 Voted Best Answer post_zeew 2020-05-03T00:02:57Z2020-05-03T00:02:57Z 在大多数情况下,检查 Internet 的存在/不存在绝对没有意义,因为在检查过程中它可能存在,并且在网络交互过程中 Internet 可能会断开。 通常,在这种情况下,他们只是简单地捕获在使用 Internet 时可能出现的异常,并且他们已经从这些异常中脱颖而出。 但是如果你真的想检查网络连接的状态,那么你可以简单地对两三个正常运行时间高的服务器进行条件 ping。 在一般情况下,对系统广播的分析(无需额外操作)将无济于事,因为该设备可能位于任何 Wi-Fi 网络中,但可能无法从 Internet 本身访问它。 Garf1eld 2020-05-03T17:02:53Z2020-05-03T17:02:53Z 我建议不要使用拐杖并阅读官方文档以确定是否存在 Internet 连接 所以 sdk 为我们提供了一个类ConnectivityManager: 监控网络连接(Wi-Fi、GPRS、UMTS 等) 当网络连接改变时发送广播消息 允许您在与当前网络的连接丢失时重新连接到另一个网络 提供一个 API,允许应用程序查询可用网络的状态。 提供一个 API,允许应用程序查询和选择要从中发送和接收流量的网络。 在最简单的场景中,您可以像这样查看网络是否可用: ConnectivityManager cm =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork.isConnectedOrConnecting();
在大多数情况下,检查 Internet 的存在/不存在绝对没有意义,因为在检查过程中它可能存在,并且在网络交互过程中 Internet 可能会断开。
通常,在这种情况下,他们只是简单地捕获在使用 Internet 时可能出现的异常,并且他们已经从这些异常中脱颖而出。
但是如果你真的想检查网络连接的状态,那么你可以简单地对两三个正常运行时间高的服务器进行条件 ping。
在一般情况下,对系统广播的分析(无需额外操作)将无济于事,因为该设备可能位于任何 Wi-Fi 网络中,但可能无法从 Internet 本身访问它。
我建议不要使用拐杖并阅读官方文档以确定是否存在 Internet 连接
所以 sdk 为我们提供了一个类
ConnectivityManager:在最简单的场景中,您可以像这样查看网络是否可用: