1

我正在努力了解用户何时连接到具有 Internet 访问权限的 WiFi 网络。

到目前为止,我已经尝试了两种方法来实现这一目标:

  • 使用BroadcastReceiver(动作:)android.net.conn.CONNECTIVITY_CHANGE,和;
  • 注册一个NetworkCallbackConnectivityManager

由于它们的回调被调用得太快,它们大部分时间都失败了,因为它们是在网络无法访问 Internet 时调用的。

有没有办法实现我想要的(对于 API >= 16)?

4

1 回答 1

0

我建议使用 ConnectivityManager 通过实现以下代码来监控连接状态

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();


boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnected();

有关更多信息,请在此处查看 android 开发人员指南

于 2020-05-26T22:08:45.347 回答