【问题标题】:Is there a listener for when a user gets connected to a WiFi network (with internet access)?当用户连接到 WiFi 网络(可以访问互联网)时,是否有监听器?
【发布时间】:2020-05-26 19:47:18
【问题描述】:

我很难知道用户何时连接到 WiFi 网络可以访问互联网

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

  • 使用BroadcastReceiver(操作:android.net.conn.CONNECTIVITY_CHANGE),并且;
  • ConnectivityManager 上注册NetworkCallback

它们大多数时候都失败了,因为它们的回调被调用得太快了,因为它们是在网络无法访问 Internet 时调用的。

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

【问题讨论】:

    标签: android listener wifimanager android-connectivitymanager


    【解决方案1】:

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

    ConnectivityManager cm =
            (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
    
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    
    
    boolean isConnected = activeNetwork != null &&
                          activeNetwork.isConnected();
    

    更多信息请查看安卓开发者指南here

    【讨论】:

    • 嗨,@GeorgeMachibya。感谢您的贡献,但这不是问题所在。
    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2016-09-19
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多