网络判断的监听器

来源:互联网 发布:海信电视看网络电视 编辑:程序博客网 时间:2024/06/05 19:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
     * 监听网络是否正常连接
     
     * @author Cyning
     
     */
    private class ConnectionChangeReceiver extends BroadcastReceiver {
  
        private final String TAG = ConnectionChangeReceiver.class.getSimpleName();
  
        @Override
        public void onReceive(Context context, Intent intent) {
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo mobNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if ((mobNetworkInfo != null && mobNetworkInfo.isConnected()) || (wifiNetworkInfo != null && wifiNetworkInfo.isConnected())) {
                loadLocalSubscription();
                L.e("on********");
  
            } else if ((mobNetworkInfo != null && !mobNetworkInfo.isConnected()) && (wifiNetworkInfo != null && !wifiNetworkInfo.isConnected())) {
                L.e("off********");
            }
  
        }
    }
      
    ConnectionChangeReceiver mNetwrokReceiver  = null;
    /**
     * 注册消息
     */
    private void registerNetworkReceiver() {
         mNetwrokReceiver = new ConnectionChangeReceiver();
        IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
        mNetwrokReceiver = new ConnectionChangeReceiver();
        getActivity().registerReceiver(mNetwrokReceiver, filter);
    }
  
    /**
     * 取消注册
     */
    private void unRegisterNetworkReceiver() {
        if (mNetwrokReceiver != null) {
            getActivity().unregisterReceiver(mNetwrokReceiver);
        }
    }



来自为知笔记(Wiz)


0 0
原创粉丝点击