Java 类android.net.NetworkInfo.DetailedState 实例源码

项目:DownloadManager    文件:DownloadInfo.java   
/**
 * Returns whether this download is allowed to use the network.
 */
public NetworkState checkCanUseNetwork(long totalBytes) {
    final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid);
    if (info == null || !info.isConnected()) {
        return NetworkState.NO_CONNECTION;
    }
    if (DetailedState.BLOCKED.equals(info.getDetailedState())) {
        return NetworkState.BLOCKED;
    }
    if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) {
        return NetworkState.CANNOT_USE_ROAMING;
    }
    if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) {
        return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR;
    }
    return checkIsNetworkTypeAllowed(info.getType(), totalBytes);
}
项目:FMTech    文件:ixi.java   
@TargetApi(14)
private static boolean a(NetworkInfo paramNetworkInfo)
{
  if (Log.isLoggable("NetworkCapability", 3))
  {
    String str = String.valueOf(paramNetworkInfo);
    new StringBuilder(16 + String.valueOf(str).length()).append("Active network: ").append(str);
  }
  boolean bool;
  if ((paramNetworkInfo != null) && (paramNetworkInfo.isConnected())) {
    bool = true;
  }
  while (Build.VERSION.SDK_INT >= 14) {
    if ((bool) && (paramNetworkInfo.getDetailedState() != NetworkInfo.DetailedState.BLOCKED))
    {
      return true;
      bool = false;
    }
    else
    {
      return false;
    }
  }
  return bool;
}
项目:AndroidSettingDemoAP    文件:AccessPoint.java   
AccessPoint(Context context, Bundle savedState) {
    super(context);
    setWidgetLayoutResource(R.layout.preference_widget_wifi_signal);

    mConfig = savedState.getParcelable(KEY_CONFIG);
    if (mConfig != null) {
        loadConfig(mConfig);
    }
    mScanResult = (ScanResult) savedState.getParcelable(KEY_SCANRESULT);
    if (mScanResult != null) {
        loadResult(mScanResult);
    }
    mInfo = (WifiInfo) savedState.getParcelable(KEY_WIFIINFO);
    if (savedState.containsKey(KEY_DETAILEDSTATE)) {
        mState = DetailedState.valueOf(savedState.getString(KEY_DETAILEDSTATE));
    }
    update(mInfo, mState);
}
项目:AndroidSettingDemoAP    文件:AccessPoint.java   
void update(WifiInfo info, DetailedState state) {
    boolean reorder = false;
    if (info != null && networkId == info.getNetworkId()
            && networkId != WifiConfiguration.INVALID_NETWORK_ID) {
        reorder = (mInfo == null);
        mRssi = info.getRssi();
        mInfo = info;
        mState = state;
        refresh();
    } else if (mInfo != null) {
        reorder = true;
        mInfo = null;
        mState = null;
        refresh();
    }
    if (reorder) {
        notifyHierarchyChanged();
    }
}
项目:AndroidSettingDemoAP    文件:WpsDialog.java   
private void handleEvent(Context context, Intent intent) {
    String action = intent.getAction();
    if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
        NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(
                WifiManager.EXTRA_NETWORK_INFO);
        final NetworkInfo.DetailedState state = info.getDetailedState();
        if (state == DetailedState.CONNECTED &&
                mDialogState == DialogState.WPS_COMPLETE) {
            WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
            if (wifiInfo != null) {
                String msg = String.format(mContext.getString(
                        R.string.wifi_wps_connected), wifiInfo.getSSID());
                updateDialog(DialogState.CONNECTED, msg);
            }
        }
    }
}
项目:android-downloadprovider    文件:DownloadInfo.java   
/**
 * Returns whether this download is allowed to use the network.
 */
public NetworkState checkCanUseNetwork() {
    final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid);
    if (info == null || !info.isConnected()) {
        return NetworkState.NO_CONNECTION;
    }
    if (DetailedState.BLOCKED.equals(info.getDetailedState())) {
        return NetworkState.BLOCKED;
    }
    if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) {
        return NetworkState.CANNOT_USE_ROAMING;
    }
    if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) {
        return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR;
    }
    return checkIsNetworkTypeAllowed(info.getType());
}
项目:EZ-Wifi-Notification    文件:IntentAnalyzer.java   
private void log(boolean noConnectivity, State affectedState,
        DetailedState detailedState, NetworkInfo mNetworkInfo,
        NetworkInfo mOtherNetworkInfo, String mReason, boolean mIsFailover) {

    // Log
    if (Constants.Debug) {
        //Log.d(TAG, "EXTRA_REASON Flag: " + mReason);
        //Log.d(TAG, "EXTRA_IS_FAILOVER Flag: " + mIsFailover);
        //Log.d(TAG, "EXTRA_NO_CONNECTIVITY Flag: " + noConnectivity);
        // Log.d(TAG, "mNetworkInfo.getState(): "+affectedState);
        // Log.d(TAG,
        // "mNetworkInfo.getDetailedState(): "+detailedState);
        Log.d(TAG, "------ Reciever Called -----------");
        Log.d(TAG, "noConn=" + noConnectivity + ", AffectedState: "
                + affectedState + ", DetailedState: " + detailedState);
        Log.d(TAG, "mNetworkInfo: " + mNetworkInfo);
        Log.d(TAG, "mOtherNetworkInfo: "
                + (mOtherNetworkInfo == null ? "[none]"
                        : mOtherNetworkInfo));
        State mState = (noConnectivity) ? State.DISCONNECTED
                : State.CONNECTED;
        Log.d(TAG, " mState=" + mState.toString() + ", mReason="
                + mReason + ", mIsFailover=" + mIsFailover);
    }       
}
项目:phonty    文件:Receiver.java   
public static boolean isFast(int i) {
        WifiManager wm = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
        WifiInfo wi = wm.getConnectionInfo();

        if (PreferenceManager.getDefaultSharedPreferences(mContext).getString(org.sipdroid.sipua.ui.Settings.PREF_USERNAME+(i!=0?i:""),"").equals("") ||
                PreferenceManager.getDefaultSharedPreferences(mContext).getString(org.sipdroid.sipua.ui.Settings.PREF_SERVER+(i!=0?i:""),"").equals(""))
            return false;
        if (wi != null) {
            if (!Sipdroid.release) Log.i("SipUA:","isFastWifi() "+WifiInfo.getDetailedStateOf(wi.getSupplicantState())
                    +" "+wi.getIpAddress());
        if (wi.getIpAddress() != 0 && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR
                || WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) {
            on_wlan = true;
            if (!on_vpn())
                return PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean(org.sipdroid.sipua.ui.Settings.PREF_WLAN+(i!=0?i:""), org.sipdroid.sipua.ui.Settings.DEFAULT_WLAN);
            else
                return PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean(org.sipdroid.sipua.ui.Settings.PREF_VPN+(i!=0?i:""), org.sipdroid.sipua.ui.Settings.DEFAULT_VPN);  
        }
        }
        on_wlan = false;
    return isFastGSM(i);
}
项目:SecureShareLib    文件:TransferInfo.java   
/**
 * Returns whether this transfer is allowed to use the network.
 */
public NetworkState checkCanUseNetwork() {
    final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid);
    if (info == null || !info.isConnected()) {
        return NetworkState.NO_CONNECTION;
    }
    if (DetailedState.BLOCKED.equals(info.getDetailedState())) {
        return NetworkState.BLOCKED;
    }
    if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) {
        return NetworkState.CANNOT_USE_ROAMING;
    }
    if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) {
        return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR;
    }
    return checkIsNetworkTypeAllowed(info.getType());
}
项目:FuzzDroid    文件:PersistentHookDefinitions.java   
private Set<HookInfo> networkRelatedHooks() {
    Set<HookInfo> networkHooks = new HashSet<HookInfo>();
    MethodHookInfo getActiveNetworkInfo = new MethodHookInfo("<android.net.ConnectivityManager: android.net.NetworkInfo getActiveNetworkInfo()>");
    try {
        Class<?> networkInfo = Class.forName("android.net.NetworkInfo");
        Class<?>[] networkInfoParams = new Class[4];
        networkInfoParams[0] = int.class;
        networkInfoParams[1] = int.class;
        networkInfoParams[2] = String.class;
        networkInfoParams[3] = String.class;
        Constructor<?> init = networkInfo.getConstructor(networkInfoParams);
        init.setAccessible(true);
        Object obj = init.newInstance(0, 3, "mobile", "UMTS");
        Class<?>[] booleanParam = new Class[1];
        booleanParam[0] = boolean.class;
        Method setIsAvailable = networkInfo.getMethod("setIsAvailable", booleanParam);
        setIsAvailable.setAccessible(true);
        setIsAvailable.invoke(obj, true);
        Method setIsConnectedToProvisioningNetwork = networkInfo.getMethod("setIsConnectedToProvisioningNetwork", booleanParam);
        setIsConnectedToProvisioningNetwork.setAccessible(true);
        setIsConnectedToProvisioningNetwork.invoke(obj, true);
        Method setRoaming = networkInfo.getMethod("setRoaming", booleanParam);
        setRoaming.setAccessible(true);
        setRoaming.invoke(obj, true);
        Class<?>[] setDetailedStateParams = new Class[3];
        setDetailedStateParams[0] = DetailedState.class;
        setDetailedStateParams[1] = String.class;
        setDetailedStateParams[2] = String.class;
        Method setDetailedState = networkInfo.getMethod("setDetailedState", setDetailedStateParams);
        setDetailedState.setAccessible(true);
        setDetailedState.invoke(obj, DetailedState.CONNECTED, "connected", "epc.tmobile.com");
        getActiveNetworkInfo.persistentHookAfter(obj);
    }catch(Exception ex) {
        ex.printStackTrace();
    }

    networkHooks.add(getActiveNetworkInfo);
    return networkHooks;
}
项目:letv    文件:NetworkHelper.java   
public static DetailedState getWifiConnectivityState(Context context) {
    NetworkInfo networkInfo = getNetworkInfo(context, 1);
    return networkInfo == null ? DetailedState.FAILED : networkInfo.getDetailedState();
}
项目:buildAPKsApps    文件:WiFiSettingHandler.java   
@Override
public void onReceive(Context context, Intent intent) {
    if (intent == null)
        return;

    if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {

        int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
        updateWiFiState(wifiState);
    } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {

        NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
        DetailedState state = info.getDetailedState();

        String descr = null;
        switch (state) {
            case CONNECTING:
                descr = mActivity.getString(R.string.txt_net_status_connecting);
                break;
            case OBTAINING_IPADDR:
                descr = mActivity.getString(R.string.txt_net_status_obtainingip);
                break;
            case CONNECTED:
                // String name =
                // intent.getStringExtra(WifiManager.EXTRA_BSSID);
                String name = getWiFiManager().getConnectionInfo().getSSID();
                descr = mActivity.getString(R.string.txt_net_status_connected_to, name);
                break;
            case FAILED:
                descr = mActivity.getString(R.string.txt_net_status_failed);
                break;
            case DISCONNECTING:
                descr = mActivity.getString(R.string.txt_net_status_disconnecting);
                break;
            case DISCONNECTED:
                descr = mActivity.getString(R.string.txt_net_status_disconnected);
                break;
        }

        if (descr != null) {
            mSetting.descr = descr; // update description
            mSetting.updateView();
        }
    }
}
项目:FMTech    文件:Utils.java   
@SuppressLint({"NewApi"})
public static boolean isBackgroundDataEnabled(Context paramContext)
{
  ConnectivityManager localConnectivityManager = (ConnectivityManager)paramContext.getSystemService("connectivity");
  if (Build.VERSION.SDK_INT < 14) {
    return localConnectivityManager.getBackgroundDataSetting();
  }
  for (NetworkInfo localNetworkInfo : localConnectivityManager.getAllNetworkInfo()) {
    if ((localNetworkInfo != null) && (localNetworkInfo.getDetailedState() == NetworkInfo.DetailedState.BLOCKED)) {
      return false;
    }
  }
  return true;
}
项目:AndroidSettingDemoAP    文件:WifiSettings.java   
private void updateConnectionState(DetailedState state) {
    /* sticky broadcasts can call this when wifi is disabled */
    if (!mWifiManager.isWifiEnabled()) {
        mScanner.pause();
        return;
    }

    if (state == DetailedState.OBTAINING_IPADDR) {
        mScanner.pause();
    } else {
        mScanner.resume();
    }

    mLastInfo = mWifiManager.getConnectionInfo();
    if (state != null) {
        mLastState = state;
    }

    for (int i = getPreferenceScreen().getPreferenceCount() - 1; i >= 0; --i) {
        // Maybe there's a WifiConfigPreference
        Preference preference = getPreferenceScreen().getPreference(i);
        if (preference instanceof AccessPoint) {
            final AccessPoint accessPoint = (AccessPoint) preference;
            accessPoint.update(mLastInfo, mLastState);
        }
    }
}
项目:AndroidSettingDemoAP    文件:Summary.java   
static String get(Context context, String ssid, DetailedState state) {
    String[] formats = context.getResources().getStringArray((ssid == null)
            ? R.array.wifi_status : R.array.wifi_status_with_ssid);
    int index = state.ordinal();

    if (index >= formats.length || formats[index].length() == 0) {
        return null;
    }
    return String.format(formats[index], ssid);
}
项目:android-proxy    文件:WiFiSummary.java   
public static String get(Context context, String ssid, DetailedState state)
{
    String[] formats = context.getResources().getStringArray((ssid == null) ? R.array.wifi_status : R.array.wifi_status_with_ssid);
    int index = state.ordinal();

    if (index >= formats.length || formats[index].length() == 0)
    {
        return null;
    }
    return String.format(formats[index], ssid);
}
项目:Beem    文件:BeemConnectivity.java   
/**
    * Checks if is wifi.
    * @param ctx the ctx
    * @return true, if is wifi
    */
   public static boolean isWifi(final Context ctx) {
WifiManager wm = (WifiManager) ctx.getSystemService(
    Context.WIFI_SERVICE);
WifiInfo wi = wm.getConnectionInfo();
if (wi != null
    && (WifiInfo.getDetailedStateOf(wi.getSupplicantState())
    == DetailedState.OBTAINING_IPADDR
    || WifiInfo.getDetailedStateOf(wi.getSupplicantState())
    == DetailedState.CONNECTED)) {
    return false;
}
return false;
   }
项目:beem-fork-xmpp    文件:BeemConnectivity.java   
/**
    * Checks if is wifi.
    * @param ctx the ctx
    * @return true, if is wifi
    */
   public static boolean isWifi(final Context ctx) {
WifiManager wm = (WifiManager) ctx.getSystemService(
    Context.WIFI_SERVICE);
WifiInfo wi = wm.getConnectionInfo();
if (wi != null
    && (WifiInfo.getDetailedStateOf(wi.getSupplicantState())
    == DetailedState.OBTAINING_IPADDR
    || WifiInfo.getDetailedStateOf(wi.getSupplicantState())
    == DetailedState.CONNECTED)) {
    return false;
}
return false;
   }
项目:CSipSimple    文件:SipService.java   
/**
 * Ask to take the control of the wifi and the partial wake lock if
 * configured
 */
private synchronized void acquireResources() {
    if(holdResources) {
        return;
    }

    // Add a wake lock for CPU if necessary
    if (prefsWrapper.getPreferenceBooleanValue(SipConfigManager.USE_PARTIAL_WAKE_LOCK)) {
        PowerManager pman = (PowerManager) getSystemService(Context.POWER_SERVICE);
        if (wakeLock == null) {
            wakeLock = pman.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "com.csipsimple.SipService");
            wakeLock.setReferenceCounted(false);
        }
        // Extra check if set reference counted is false ???
        if (!wakeLock.isHeld()) {
            wakeLock.acquire();
        }
    }

    // Add a lock for WIFI if necessary
    WifiManager wman = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    if (wifiLock == null) {
        int mode = WifiManager.WIFI_MODE_FULL;
        if(Compatibility.isCompatible(9) && prefsWrapper.getPreferenceBooleanValue(SipConfigManager.LOCK_WIFI_PERFS)) {
            mode = 0x3; // WIFI_MODE_FULL_HIGH_PERF 
        }
        wifiLock = wman.createWifiLock(mode, "com.csipsimple.SipService");
        wifiLock.setReferenceCounted(false);
    }
    if (prefsWrapper.getPreferenceBooleanValue(SipConfigManager.LOCK_WIFI) && !wifiLock.isHeld()) {
        WifiInfo winfo = wman.getConnectionInfo();
        if (winfo != null) {
            DetailedState dstate = WifiInfo.getDetailedStateOf(winfo.getSupplicantState());
            // We assume that if obtaining ip addr, we are almost connected
            // so can keep wifi lock
            if (dstate == DetailedState.OBTAINING_IPADDR || dstate == DetailedState.CONNECTED) {
                if (!wifiLock.isHeld()) {
                    wifiLock.acquire();
                }
            }
        }
    }
    holdResources = true;
}
项目:open-rmbt    文件:InformationCollector.java   
private void getWiFiInfo()
    {
        initNetwork();
        if (wifiManager != null)
        {
            final WifiInfo wifiInfo = wifiManager.getConnectionInfo();
            fullInfo.setProperty("WIFI_SSID",
            String.valueOf(Helperfunctions.removeQuotationsInCurrentSSIDForJellyBean(wifiInfo.getSSID())));

            /*
             * fullInfo.setProperty("WIFI_LINKSPEED",
             * String.valueOf(wifiInfo.getLinkSpeed()));
             */
            fullInfo.setProperty("WIFI_BSSID", String.valueOf(wifiInfo.getBSSID()));
            fullInfo.setProperty("WIFI_NETWORK_ID", String.valueOf(wifiInfo.getNetworkId()));
            /*
             * fullInfo.setProperty("WIFI_RSSI",
             * String.valueOf(wifiInfo.getRssi()));
             */
            final SupplicantState wifiState = wifiInfo.getSupplicantState();
            fullInfo.setProperty("WIFI_SUPPLICANT_STATE", String.valueOf(wifiState.name()));
            final DetailedState wifiDetail = WifiInfo.getDetailedStateOf(wifiState);
            fullInfo.setProperty("WIFI_SUPPLICANT_STATE_DETAIL", String.valueOf(wifiDetail.name()));

            if (getNetwork() == NETWORK_WIFI)
            {

                final int rssi = wifiInfo.getRssi();
                if (rssi != -1 && rssi >= ACCEPT_WIFI_RSSI_MIN)
                {
                    int linkSpeed = wifiInfo.getLinkSpeed();
                    if (linkSpeed < 0) {
                        linkSpeed = 0;
                    }

                    final SignalItem signalItem = SignalItem.getWifiSignalItem(linkSpeed, rssi);
                    if (this.collectInformation) {
                        signals.add(signalItem);    
                    }
                    lastSignalItem.set(signalItem);
                    signal.set(rssi);
                    signalType.set(SINGAL_TYPE_WLAN);

                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
                        CellInformationWrapper cellInformationWrapper = new CellInformationWrapper(wifiInfo);
                        cellInformationWrapper.setActive(true);
                        this.lastCellInfos.add(cellInformationWrapper);
                        this.registeredCells.clear();
                        this.registeredCells.add(cellInformationWrapper);
                        this.cellInfos.add(cellInformationWrapper);
                    }
//                    Log.i(DEBUG_TAG, "Signals1: " + signals.toString());
                }
            }
        }
    }
项目:AndroidSettingDemoAP    文件:Summary.java   
static String get(Context context, DetailedState state) {
    return get(context, null, state);
}
项目:AndroidSettingDemoAP    文件:AccessPoint.java   
DetailedState getState() {
    return mState;
}
项目:android-proxy    文件:WiFiSummary.java   
public static String get(Context context, DetailedState state)
{
    return get(context, null, state);
}
项目:cInterphone    文件:Receiver.java   
public static boolean isFast(int i) {
    WifiManager wm = (WifiManager) mContext
            .getSystemService(Context.WIFI_SERVICE);
    WifiInfo wi = wm.getConnectionInfo();

    if (PreferenceManager
            .getDefaultSharedPreferences(mContext)
            .getString(
                    com.cyeam.cInterphone.ui.Settings.PREF_USERNAME
                            + (i != 0 ? i : ""), "").equals("")
            || PreferenceManager
                    .getDefaultSharedPreferences(mContext)
                    .getString(
                            com.cyeam.cInterphone.ui.Settings.PREF_SERVER
                                    + (i != 0 ? i : ""), "").equals(""))
        return false;
    if (wi != null) {
        if (!Sipdroid.release)
            Log.i("SipUA:",
                    "isFastWifi() "
                            + WifiInfo.getDetailedStateOf(wi
                                    .getSupplicantState()) + " "
                            + wi.getIpAddress());
        if (wi.getIpAddress() != 0
                && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR || WifiInfo
                        .getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) {
            on_wlan = true;
            if (!on_vpn())
                return PreferenceManager.getDefaultSharedPreferences(
                        mContext).getBoolean(
                        com.cyeam.cInterphone.ui.Settings.PREF_WLAN
                                + (i != 0 ? i : ""),
                        com.cyeam.cInterphone.ui.Settings.DEFAULT_WLAN);
            else
                return PreferenceManager.getDefaultSharedPreferences(
                        mContext).getBoolean(
                        com.cyeam.cInterphone.ui.Settings.PREF_VPN
                                + (i != 0 ? i : ""),
                        com.cyeam.cInterphone.ui.Settings.DEFAULT_VPN);
        }
    }
    on_wlan = false;
    return isFastGSM(i);
}
项目:mpos    文件:DeviceController.java   
public boolean connectionStatus(int type) {
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    return connectivityManager.getNetworkInfo(type).getDetailedState() == DetailedState.CONNECTED;
}