判断当前是wifi 还是网络

//判断当前是wifi 还是网络
public static boolean checkNetworkConnection(Context context)  
   {  
       final ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  
       final android.net.NetworkInfo wifi =connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
       final android.net.NetworkInfo mobile =connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
  
       if(wifi.isAvailable()||mobile.isAvailable())  
           return true;  
       else  
           return false;  
   } 

 

public class extends BroadcastReceiver {  
  
    @Override  
    public void onReceive(Context context, Intent intent) {  
        State wifiState = null;  
        State mobileState = null;  
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
        wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
        mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
        if (wifiState != null && mobileState != null  
                && State.CONNECTED != wifiState  
                && State.CONNECTED == mobileState) {  
            // 手机网络连接成功  
        } else if (wifiState != null && mobileState != null  
                && State.CONNECTED != wifiState  
                && State.CONNECTED != mobileState) {  
            // 手机没有任何的网络  
        } else if (wifiState != null && State.CONNECTED == wifiState) {  
            // 无线网络连接成功  
        }  
  
    }  
  
} 
//第一种 注册
<receiver  
    android:name="com.test.NetworkBroadcast"  
    android:label="NetworkConnection" >  
    <intent-filter>  
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />  
    </intent-filter>  
</receiver> 

//第二种
可以在Activity的onCreate()方法中注册广播,在Activity的onDestory()方法中卸载广播。

    private BroadcastReceiver networkBroadcast=new BroadcastReceiver();  

private void registerNetworkReceiver() {  
        IntentFilter filter = new 
//WifiManager.NETWORK_STATE_CHANGED_ACTION
IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);  
        this.registerReceiver(networkBroadcast, filter);  
    }  
      
    private void unRegisterNetworkReceiver() {  
            this.unregisterReceiver(networkBroadcast);  
    } 

 

转载于:https://www.cnblogs.com/maliu/p/5615637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值