注册广播监听网络连接和断开状态的变化,判断网络连接模式;
private ConnectivityManager mConnectivityManager; private NetworkInfo netInfo; /////////////监听网络状态变化的广播接收器 private BroadcastReceiver myNetReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { mConnectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); netInfo = mConnectivityManager.getActiveNetworkInfo(); if(netInfo != null && netInfo.isAvailable()) { /////////////网络连接 String name = netInfo.getTypeName(); if(netInfo.getType()==ConnectivityManager.TYPE_WIFI){ /////WiFi网络 }else if(netInfo.getType()==ConnectivityManager.TYPE_ETHERNET){ /////有线网络 }else if(netInfo.getType()==ConnectivityManager.TYPE_MOBILE){ /////////3g网络 } } else { ////////网络断开 } } } }; /////////动态注册广播 IntentFilter mFilter = new IntentFilter(); mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(myNetReceiver, mFilter); /////////解除广播 if(myNetReceiver!=null){ unregisterReceiver(myNetReceiver); }
-------------------------------------
////判断GPS是否打开
public boolean isGpsEnabled(Context context) {
LocationManager locationManager = ((LocationManager) context
.getSystemService(Context.LOCATION_SERVICE));
List<String> accessibleProviders = locationManager.getProviders(true);
return accessibleProviders != null && accessibleProviders.size() > 0;
}
时间: 2024-08-09 10:33:11