我如何监控Android中的networking连接状态?

我有一个从服务器下载文件的服务。 我警告用户只能在下载开始之前通过无线LAN下载文件。

我的问题是,如果我的networking连接松动,我的下载卡住了。 有没有办法监听networking连接的变化,或者是否完全丢失?

  • 如何确定Android的互联网连接?
  • 如何获得OkHttp3redirect的URL?
  • Android,NetworkInfo.getTypeName(),NullpointerException
  • 无法成功地在adb usb和adb tcp模式之间切换
  • Volley的问题和贡献
  • 直接连接2个或更多Android客户端
  • Google Cloud Messaging无法在公司networking上的4.1.2设备上使用
  • 某些Android设备上的严重UDP数据包丢失
  • 收听CONNECTIVITY_ACTION

    这看起来像很好的示例代码 。 这是一个片段:

    BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.w("Network Listener", "Network Type Changed"); } }; IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(networkStateReceiver, filter);