/* Network State Receiver Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package com.freerdp.freerdpcore.application; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.util.Log; public class NetworkStateReceiver extends BroadcastReceiver { public static boolean isConnectedTo3G(Context context) { ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectivity.getActiveNetworkInfo(); // no connection or background data disabled if (info == null || !info.isConnected()) return false; return (info.getType() != ConnectivityManager.TYPE_WIFI && info.getType() != ConnectivityManager.TYPE_WIMAX); } @Override public void onReceive(Context context, Intent intent) { // check if we are connected via 3g or wlan if (intent.getExtras() != null) { NetworkInfo info = (NetworkInfo)intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO); // are we connected at all? if (info != null && info.isConnected()) { // see if we are connected through 3G or WiFi Log.d("app", "Connected via type " + info.getTypeName()); GlobalApp.ConnectedTo3G = (info.getType() != ConnectivityManager.TYPE_WIFI && info.getType() != ConnectivityManager.TYPE_WIMAX); } Log.v("NetworkState", info.toString()); } } }