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;
}