精华内容
下载资源
问答
  • 安卓检测网络连接状态的工具类

    千次阅读 2016-10-30 20:15:40
    写项目时经常需要判断网络的连接状态,每次都翻书查资料感觉有点费事,所以封装了一个工具类,里面包含了几个判断网络连接状态的方法,方便以后开发中的使用 package com.zhuandian.fanyi.utils; import android....

    写项目时经常需要判断网络的连接状态,每次都翻书查资料感觉有点费事,所以封装了一个工具类,里面包含了几个判断网络连接状态的方法,方便以后开发中的使用

    package com.zhuandian.fanyi.utils;
    
    import android.content.Context;
    import android.location.LocationManager;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    
    import java.util.List;
    
    /**
     * Created by 谢栋 on 2016/10/30.
     */
    public class MyUtils {
    
        /**
         * 检测网络是否连接
         *
         * @return
         */
        public static boolean isNetworkAvailable(Context context) {
            ConnectivityManager cm = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            if (cm == null) {
            } else {
                //如果仅仅是用来判断网络连接
               //则可以使用 cm.getActiveNetworkInfo().isAvailable();
                NetworkInfo[] info = cm.getAllNetworkInfo();
                if (info != null) {
                    for (int i = 0; i < info.length; i++) {
                        if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
    
    
        /**
         * 检测wifi是否连接
         *
         * @return
         */
        public boolean isWifiConnected(Context context) {
            ConnectivityManager cm = (ConnectivityManager)context.
                    getSystemService(Context.CONNECTIVITY_SERVICE);
            if (cm != null) {
                NetworkInfo networkInfo = cm.getActiveNetworkInfo();
                if (networkInfo != null
                        && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                    return true;
                }
            }
            return false;
        }
    
        /**
         * 检测3G是否连接
         *
         * @return
         */
        public boolean is3gConnected(Context context) {
            ConnectivityManager cm = (ConnectivityManager)context.
                    getSystemService(Context.CONNECTIVITY_SERVICE);
            if (cm != null) {
                NetworkInfo networkInfo = cm.getActiveNetworkInfo();
                if (networkInfo != null
                        && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
                    return true;
                }
            }
            return false;
        }
    
        /**
         * 检测GPS是否打开
         *
         * @return
         */
        public boolean isGpsEnabled(Context context) {
            LocationManager lm = (LocationManager)context.
                    getSystemService(Context.LOCATION_SERVICE);
            List<String> accessibleProviders = lm.getProviders(true);
            for (String name : accessibleProviders) {
                if ("gps".equals(name)) {
                    return true;
                }
            }
            return false;
        }
    }
    



    展开全文
  • //wifi状态:0 连接上,1 是未连接, 2还是3 是连接中 class BatteryReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { int status=...
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     //  mGestureDetector = new GestureDetector(this, new MyGestureListener());
    //注册广播接受者java代码
    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); 
    //创建广播接受者对象
    BatteryReceiver batteryReceiver = new BatteryReceiver();

    //注册receiver
    registerReceiver(batteryReceiver, intentFilter);
    }

    //level2  为wifi强度,值是 0-50   50-70  70 - 100  自己分档  数值越小强度越大。

    //wifi状态:0 连接上,1 是未连接, 2还是3  是连接中

    class BatteryReceiver extends BroadcastReceiver{


    @Override
    public void onReceive(Context context, Intent intent) {
    int status=intent.getIntExtra("status",BatteryManager.BATTERY_STATUS_UNKNOWN);
    if(status==BatteryManager.BATTERY_STATUS_CHARGING)
    {
    Log.i("tt","mylog:rrr");
    }
    int wifi_state = intent.getIntExtra("wifi_state", 0);   

           int level2 = Math.abs(((WifiManager)getSystemService(WIFI_SERVICE)).getConnectionInfo().getRssi());  
           Log.i("tt","mylog:wifilevel = "+level2);
    // TODO Auto-generated method stub
    //判断它是否是为电量变化的Broadcast Action
    if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){
    //获取当前电量
    int level = intent.getIntExtra("level", 0);
    //电量的总刻度
    int scale = intent.getIntExtra("scale", 100);
    //把它转成百分比
    Log.i("tt","mylog:电量为:"+(level*100/scale));
    }
    Log.i("tt","mylog: wifi_state: "+wifi_state);
    switch (wifi_state) {   
           case WifiManager.WIFI_STATE_DISABLING:   
               Log.i("TAG", "1111:" + WifiManager.WIFI_STATE_DISABLING);   
               
               break;   
           case WifiManager.WIFI_STATE_DISABLED:   
               Log.i("TAG", "2222:" + WifiManager.WIFI_STATE_DISABLED);   
               break;   
           case WifiManager.WIFI_STATE_ENABLING:   
               Log.i("TAG", "33333:" + WifiManager.WIFI_STATE_ENABLING);   
               break;   
           case WifiManager.WIFI_STATE_ENABLED:   
               Log.i("TAG", "4444:" + WifiManager.WIFI_STATE_ENABLED);   
               break;   
           case WifiManager.WIFI_STATE_UNKNOWN:   
               Log.i("TAG", "5555:" + WifiManager.WIFI_STATE_UNKNOWN);   
               break;   
           }   
    //if(Intent.)
    }

    }


    这是在网上找到的结果,但是经过实测,当wifi信号切断再连接上时,信号强度检测变化特别慢。所以我使用的是开个线程,在每5秒检测 int level2 = Math.abs(((WifiManager)getSystemService(WIFI_SERVICE)).getConnectionInfo().getRssi());  然后这么就可以实时点。





    展开全文
  • Android检测网络状态,判断当前网络是否可用 转载博客地址 http://blog.csdn.net/hejie322/article/details/8786402 用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用...

    Android检测网络状态,判断当前网络是否可用

    转载博客地址

    http://blog.csdn.net/hejie322/article/details/8786402


    用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户打开网络了并且可以连上互联网进行上网。
    检测当前网络是否可用,代码如下:

    [java] view plain copy
    1. /** 
    2.      * 检测当的网络(WLAN、3G/2G)状态 
    3.      * @param context Context 
    4.      * @return true 表示网络可用 
    5.      */  
    6.     public static boolean isNetworkAvailable(Context context) {  
    7.         ConnectivityManager connectivity = (ConnectivityManager) context  
    8.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
    9.         if (connectivity != null) {  
    10.             NetworkInfo info = connectivity.getActiveNetworkInfo();  
    11.             if (info != null && info.isConnected())   
    12.             {  
    13.                 // 当前网络是连接的  
    14.                 if (info.getState() == NetworkInfo.State.CONNECTED)   
    15.                 {  
    16.                     // 当前所连接的网络可用  
    17.                     return true;  
    18.                 }  
    19.             }  
    20.         }  
    21.         return false;  
    22.     }  

    在AndroidManifest.xml文件添加的权限:

    [html] view plain copy
    1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    2. <uses-permission android:name="android.permission.INTERNET"/>  

    展开全文
  • 网络连接状态检测.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 安卓电话和网络开发全解,包括电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息。通过phone state listener监听电话状态的变化和通过广播接收BroadcastReceiver监听电话状态变化。检测...
    
        ad1.jpg
    

    全栈工程师开发手册 (作者:栾鹏)
    安卓教程全解

    安卓电话和网络开发全解,包括电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息。通过phone state listener监听电话状态的变化和通过广播接收BroadcastReceiver监听电话状态变化。

    拨打电话

    调用 
    startPhone("17665343626");
    
    //拨打电话的实现函数
    private void startPhone(String phonenum) {
    	 //使用系统电话服务栈启动电话呼叫
    	 Intent whoyougonnacall = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phonenum));
    	 startActivity(whoyougonnacall);
    }
    

    检测电话硬件功能的支持

      //检查电话硬件
      private void checkphone() {
    	  PackageManager pm = getPackageManager();
    	  boolean telephonesupported = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);  //是否包含电话功能
    	  boolean gsmphonesupported = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_GSM);  //是否包含gsm电话功能
    	  boolean cdmaphonesupported = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CDMA);  //是否包含cdma电话功能
    	  Log.v("电话硬件功能", "电话功能是否支持:"+telephonesupported);
    	  Log.v("电话硬件功能", "gsm电话功能是否支持:"+gsmphonesupported);
    	  Log.v("电话硬件功能", "cdma电话功能是否支持:"+cdmaphonesupported);
      }
    

    获取电话服务信息

    private void phonestate() {
    		TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  //获取系统电话服务
    		//获取手机类型
    		String phonetypeStr = "unknow";
    		int phonetype=telephonyManager.getPhoneType();
    		switch (phonetype) {
    			case TelephonyManager.PHONE_TYPE_CDMA:phonetypeStr="cdma";break;
    			case TelephonyManager.PHONE_TYPE_GSM:phonetypeStr="gsm";break;
    			case TelephonyManager.PHONE_TYPE_SIP:phonetypeStr="sip";break;
    			case TelephonyManager.PHONE_TYPE_NONE:phonetypeStr="none";break;
    			default:break;
    		}
    		
    		//读取gsm手机的imei或cdma手机的meid
    		String deviceid = telephonyManager.getDeviceId();
    		//读取手机上的软件版本(注意:不是sdk版本)
    		String softwareversion=telephonyManager.getDeviceSoftwareVersion();
    		//获取手机号码
    		String phonenumber = telephonyManager.getLine1Number();
    		
    		Log.v("电话服务信息", "手机类型:"+phonetypeStr);
    		Log.v("电话服务信息", "meid号:"+deviceid);
    		Log.v("电话服务信息", "软件版本:"+softwareversion);
    		Log.v("电话服务信息", "手机号码:"+phonenumber);
      }
    

    获取网络服务信息

      private void netstate() 
      {
    	  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  //获取系统电话服务
    	  //获取连接网络所在国家的iso代码
    	  String networkcountry=telephonyManager.getNetworkCountryIso();
    	  //获得连接网络的运营商ID(MCC+MNC)
    	  String networkoperatorid=telephonyManager.getNetworkOperator();
    	  //获取连接网络的运营商名称
    	  String networkname = telephonyManager.getNetworkOperatorName();  
    	  
    	  //获得手机卡支持的网络类型
    	  int networkType = telephonyManager.getNetworkType();
    	  String simnettype="";
    	  switch (networkType) {
    			case TelephonyManager.NETWORK_TYPE_UNKNOWN: simnettype="NETWORK_TYPE_UNKNOWN"; break;
    			case TelephonyManager.NETWORK_TYPE_GPRS: simnettype="NETWORK_TYPE_GPRS"; break;
    			case TelephonyManager.NETWORK_TYPE_EDGE: simnettype="NETWORK_TYPE_EDGE"; break;
    			case TelephonyManager.NETWORK_TYPE_UMTS: simnettype="NETWORK_TYPE_UMTS"; break;
    			case TelephonyManager.NETWORK_TYPE_HSDPA: simnettype="NETWORK_TYPE_HSDPA"; break;
    			case TelephonyManager.NETWORK_TYPE_HSUPA: simnettype="NETWORK_TYPE_HSUPA"; break;
    			case TelephonyManager.NETWORK_TYPE_HSPA: simnettype="NETWORK_TYPE_HSPA"; break;
    			case TelephonyManager.NETWORK_TYPE_CDMA: simnettype="NETWORK_TYPE_CDMA"; break;
    			case TelephonyManager.NETWORK_TYPE_EVDO_0: simnettype="NETWORK_TYPE_EVDO_0"; break;
    			case TelephonyManager.NETWORK_TYPE_EVDO_A: simnettype="NETWORK_TYPE_EVDO_A"; break;
    			case TelephonyManager.NETWORK_TYPE_EVDO_B: simnettype="NETWORK_TYPE_EVDO_B"; break;
    			case TelephonyManager.NETWORK_TYPE_1xRTT: simnettype="NETWORK_TYPE_1xRTT"; break;
    			case TelephonyManager.NETWORK_TYPE_IDEN: simnettype="NETWORK_TYPE_IDEN"; break;
    			case TelephonyManager.NETWORK_TYPE_LTE: simnettype="NETWORK_TYPE_LTE"; break;
    			case TelephonyManager.NETWORK_TYPE_EHRPD: simnettype="NETWORK_TYPE_EHRPD"; break;
    			case TelephonyManager.NETWORK_TYPE_HSPAP: simnettype="NETWORK_TYPE_HSPAP"; break;
    			default:break;
    		}
    	  
    	  //当前上网的网络类型
    	  ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
          NetworkInfo networkInfo = manager.getActiveNetworkInfo();  
          String type="";
          if (networkInfo != null && networkInfo.isConnected()) 
              type = networkInfo.getTypeName();  
    
    	  Log.v("网络服务信息", "国家代码:"+networkcountry);
    	  Log.v("网络服务信息", "运营商ID:"+networkoperatorid);
    	  Log.v("网络服务信息", "运营商名称:"+networkname);
    	  Log.v("网络服务信息", "手机卡网络类型:"+simnettype);
    	  Log.v("网络服务信息", "当前上网网络类型:"+type);
      }
    

    获取sim卡信息

      private void simstate() {
    	  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  //获取系统电话服务
    	  int simstate = telephonyManager.getSimState(); 
    	  String siminfo="";
    	  switch (simstate) {
    		case TelephonyManager.SIM_STATE_ABSENT: siminfo="没有sim卡"; break;
    		case TelephonyManager.SIM_STATE_UNKNOWN: siminfo="未知情况"; break;
    		case TelephonyManager.SIM_STATE_PIN_REQUIRED: siminfo="需要sim卡的PIN来解锁"; break;
    		case TelephonyManager.SIM_STATE_PUK_REQUIRED: siminfo="需要sim卡的PUK来解锁"; break;
    		case TelephonyManager.SIM_STATE_NETWORK_LOCKED: siminfo="需要网络PIN来解锁"; break;
    		case TelephonyManager.SIM_STATE_READY: siminfo="sim卡正常"; break;
    		default:break;
    		}
    	  //获取SIM的ISO国家代码
    	  String simworkcountry=telephonyManager.getSimCountryIso();
    	  //获得活动SIM的运营商ID(MCC+MNC)
    	  String simworkoperatorid=telephonyManager.getSimOperator();
    	  //获取sim运营商名称
    	  String simworkname = telephonyManager.getSimOperatorName();  
    	  //获取sim的序列号
    	  String simserial = telephonyManager.getSimSerialNumber();
    	  Log.v("sim卡信息", "国家代码:"+simworkcountry);
    	  Log.v("sim卡信息", "运营商ID:"+simworkoperatorid);
    	  Log.v("sim卡信息", "运营商名称:"+simworkname);
    	  Log.v("sim卡信息", "序列号:"+simserial);
    	  Log.v("sim卡信息", "sim卡状态:"+siminfo);
      }
    

    读取数据连接和传输状态的详细信息

    
      private void datastate() {
    	  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  //获取系统电话服务
    	  int dataactivity = telephonyManager.getDataActivity();
    	  int datastate = telephonyManager.getDataState();
    	  String dataactivityinfo="";
    	  switch (dataactivity) {
    		case TelephonyManager.DATA_ACTIVITY_IN:dataactivityinfo="正在接收数据";break;
    		case TelephonyManager.DATA_ACTIVITY_OUT:dataactivityinfo="正在发送数据";break;
    		case TelephonyManager.DATA_ACTIVITY_INOUT:dataactivityinfo="正在同时发送和接收数据";break;
    		case TelephonyManager.DATA_ACTIVITY_NONE:dataactivityinfo="当前没有数据传输";break;
    		default:break;
    		}
    	  String datainfo="";
    	  switch (datastate) {
    		case TelephonyManager.DATA_CONNECTED:datainfo="当前可以上网";break;
    		case TelephonyManager.DATA_CONNECTING:datainfo="正在开启上网服务";break;
    		case TelephonyManager.DATA_DISCONNECTED:datainfo="当前不可以上网";break;
    		case TelephonyManager.DATA_SUSPENDED:datainfo="正在电话,不能上网";break;
    		default:break;
    		}
    	  Log.v("数据传输信息", "数据传输状态:"+dataactivityinfo);
    	  Log.v("数据传输信息", "上网状态:"+datainfo);
      }
    

    使用phone state listener监听电话状态的变化

    应用程序处于运行状态才能接受这个监视器回调。

    首先定义自己的监听器

    可以自定义传入电话呼叫监听器、蜂窝位置变化监视器、服务变化监视器、数据传输监视函数、数据连接监视函数、

    //定义监听器
      PhoneStateListener callStateListener = new PhoneStateListener(){
    	  
    	  //传入电话呼叫监听器,处理传入的呼叫相关的电话号码
    	  public void onCallStateChanged(int state,String incomingNumber) {
    		  String callStateStr = "Unknown";
    		  switch (state) {
    			case TelephonyManager.CALL_STATE_IDLE:   //电话既不响铃,也不再通话中时
    				callStateStr = "没有电话呼叫";break;
    			case TelephonyManager.CALL_STATE_OFFHOOK:  //当电话响铃时,此时系统会显示来电屏幕
    				callStateStr = "有电话呼入";break;
    			case TelephonyManager.CALL_STATE_RINGING:   //当电话当前正在通话中时
    				callStateStr = "正在通话中"+incomingNumber;break;
    			default:
    				break;
    			}
    		  Log.v("电话传入电话监视:", callStateStr);
    	  }
    	  
    	  //蜂窝位置变化监视器
    	  public void onCellLocationChanged(CellLocation location) {
    			if (location instanceof GsmCellLocation) {
    				GsmCellLocation gsmCellLocation = (GsmCellLocation)location;
    				Toast.makeText(getApplicationContext(), String.valueOf(gsmCellLocation.getCid()), Toast.LENGTH_LONG).show();
    				Log.v("电话蜂窝位置监视:", "GSM:"+String.valueOf(gsmCellLocation.getCid()));
    			}
    			else if (location instanceof CdmaCellLocation) {
    				CdmaCellLocation cdmaCellLocation = (CdmaCellLocation)location;
    				StringBuilder sb=new StringBuilder();
    				sb.append(cdmaCellLocation.getBaseStationId());   //获取基站id
    				sb.append("\n@");
    				sb.append(cdmaCellLocation.getBaseStationLatitude());   //获取经纬度
    				sb.append(cdmaCellLocation.getBaseStationLongitude());
    				Log.v("电话蜂窝位置监视:", "CDMA:"+sb.toString());
    			}
    		}
    	  
    	  
    	  //服务变化监视器
    	  public void onServiceStateChanged(ServiceState serviceState) {
    		  if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {
    			String toasttext = "运营商:"+serviceState.getOperatorAlphaLong();
    			Toast.makeText(context, toasttext, 1000).show();
    			Log.v("电话服务监视:", toasttext);
    		  }
    	  }
    	  
    	//数据传输监视函数
    	  public void onDataActivity(int direction) {
    		String dataActivitystr = "none";
    		switch (direction) {
    			case TelephonyManager.DATA_ACTIVITY_IN:dataActivitystr="正在下载";break;
    			case TelephonyManager.DATA_ACTIVITY_OUT:dataActivitystr="正在上传";break;
    			case TelephonyManager.DATA_ACTIVITY_INOUT:dataActivitystr="正在下载或上传";break;
    			case TelephonyManager.DATA_ACTIVITY_NONE:dataActivitystr="没有数据传输";break;
    			default:break;
    			}
    		Log.v("电话数据传输监视:", dataActivitystr);
    	  }
    	  
    	  
    	  //数据连接监视函数
    	  public void onDataConnectionStateChanged(int state) {
    		  String datastatestr = "none";
    			switch (state) {
    				case TelephonyManager.DATA_CONNECTED:datastatestr="已经连接上";break;
    				case TelephonyManager.DATA_CONNECTING:datastatestr="正在连接";break;
    				case TelephonyManager.DATA_DISCONNECTED:datastatestr="连接失败";break;
    				case TelephonyManager.DATA_SUSPENDED:datastatestr="暂停挂起";break;
    				default:break;
    			}
    			Log.v("电话数据连接监视:", datastatestr);
    	  }
    	  
    	  
      };
    

    注册监听器,实现状态变化监听。

      private void phonechange() {
    	  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  //获取系统电话服务
    	  telephonyManager.listen(callStateListener, 
    			  PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR | //呼叫转移
    			  PhoneStateListener.LISTEN_CALL_STATE|    //电话呼叫状态变化
    			  PhoneStateListener.LISTEN_CELL_LOCATION |   //蜂窝位置变化
    			  PhoneStateListener.LISTEN_DATA_ACTIVITY |   //数据连接变化
    			  PhoneStateListener.LISTEN_DATA_CONNECTION_STATE |   //数据传输变化
    			  PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR |
    			  PhoneStateListener.LISTEN_SERVICE_STATE |   //网络服务变化
    			  PhoneStateListener.LISTEN_SIGNAL_STRENGTHS  //网络信号强度变化
    			  );    //参数:监听器,状态类型
      }
    

    使用广播接收监听电话状态变化

    电话状态变化,系统向手机所有app广播intent,所以可以通过广播接收,捕获这个广播消息。

    1、在manifest中注册广播接收器

    <!-- 电话监视-->
    <receiver android:name="com.lp.app.advice.Phonestatechangereceiver" >
    	<intent-filter>
    		<action android:name="android.intent.action.PHONE_STATE"/>
    	</intent-filter>
    </receiver>
    

    2、实现这个接收器,在接收器中区别广播intent类别,和获取广播事件信息。

    import android.content.Intent;
    import android.widget.Toast;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.telephony.TelephonyManager;
    
    //使用广播接收BroadcastReceiver监视电话状态的变化
    public class Phonestatechangereceiver extends BroadcastReceiver {
    	
    	  @Override
    	  public void onReceive(Context context, Intent intent) {
    		  String phonestateString = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
    		  //这里仅监听传入的电话呼入
    		  if (phonestateString.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
    			String phonenumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
    			Toast.makeText(context, "Incoming call from:"+phonenumber, 1000).show();
    		}
    	  }
    
    }
    
    展开全文
  • 但是这时候手机上的应用程序仍然显示的是没有有效的数据连接,那么除了用浏览器打开检测之外,其实还有一种比较有效的办法,那就是通过广播监听网络状态,下面跟大家分享一下实现代码:权限&lt;uses-permission ...
  • 这个教程将会介绍怎样在你的应用中检测网络连接状态。 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息。 File->New->Android Project 2.创建新项目后的第一步是要在...
  • 基于安卓平台实现判断是移动数据连接还是wife连接 文件里面附带jar包,请下载 代码如下: public class ... //检测网络连接状态 private ConnectivityManager manager; private LinearLayout ll; p
  • 原生安卓去除网络叉号

    千次阅读 2019-01-16 13:58:00
    适用于Android7.0+,需要使用ADB调试,相关教程自己查找 检测开关 删除变量:(删除以后默认启用) adb shell settings delete global captive_portal_mode ...查看当前状态: adb shell settings get ...
  • 2.音频:调节音量、音量强弱显示、静音全部/自己、音频提示/自我检测 3.共享:应用共享、桌面共享、清洁模式 4.会议录制:共享的屏幕、声音、聊天记录、设置保存路径 5.用户列表:显示用户名、显示用户状态 6.绘图...
  • Android获取网络状态

    2017-09-05 12:02:09
    前言:在开发安卓移动端时,几乎每一个app都需要连接网络,因此,对设备的网络状态检测是很有必要的!比如:检测当前网络是否可用,当前可用的网络是属于WIFI还是MOBILE等等。实现步骤流程:1 .获取...
  • 在大富翁论坛上有一篇介绍delphi xe5下获取网络状态的文章并附带了一个Androidapi.JNI.Network.pas单元,我使用到XE7下,编译后点击按钮就出来一个错误对话框什么10027什么的,开始我以为是不通用那,我就利用 爱吃...
  • Android 平台下提供了一个android.net.ConnectivityManager类来监控当前的网络状态包括wifi、gprs、UMTS等。  这个类有如下几方面的用法:  1. 监控当前的网络状态  2. 当网络状态发送变化时发出广播  3. 当...
  • 安卓优化大师2.0.2

    2013-01-26 21:08:34
    电池统计:手机电池、CPU、网络使用率、GPS使用率、传感器、WiFi等手机状态的全面分析 软件分析:快速对手机中的软件进行分析,让您更好的管理手机中的软件。 开机加速:扫描手机中开机自动启动程序,优化您手机的...
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    01、安卓基础+JNI(14天)-------------------------- day01_Android应用开发-快速入门 01_网络制式的概念 02_android简单历史 03_Android体系结构 04_JVM和DVM的区别 05_下载SDK 06_SDK目录结构 07_模拟器的创建 ...
  • 它是其它硬件性能检测App难以与之相比的,无论是设备型号、系统版本信息,还是CPU、显示屏和GPU的详细信息,连CPU缓存、GPU ALU、传感器工作状态网络信息和电池信息、Java虚拟机配置乃至系统System目录各关键文件...
  • 6、网络状况变化通知处理。 目前已知的未解决的小缺陷: 1、表情选择界面的删除键不能够长按连续删除。 2、气泡文字排版混乱。 3、气泡内的图片点击检测不精确,点击图片旁边也能打开图片浏览。 4、...
  • 网络状态的实时检测 对UIL的个性化设置、封装和基本使用 使用LeakCanary检测内存泄露 优化的功能 添加加载等待动画 添加加载失败提示 添加评论楼层过多隐藏 添加网络状态检测 优化无聊图列表显示,非WIFI...
  • 17.支持设置检测使用状态时间设置。 18.支持定时自动切换.ip功能。 19.支持意外掉线发出提示声音。 20.支持意外掉线自动禁用本地网络,包括本地连接和wifi的wlan。 21.支持过滤重复ip功能,可设置选择过滤相同的IP...
  • 说明Captive Portal是安卓5引入的一种检测网络是否正常连接的机制,制作的非常有创意,通过HTTP返回的状态码是否是204来判断是否成功,如果访问得到了200带网页数据,那你就可能处在一个需要登录验证才能上网的环境...
  • 说明Captive Portal是安卓5引入的一种检测网络是否正常连接的机制,制作的非常有创意,通过HTTP返回的状态码是否是204来判断是否成功,如果访问得到了200带网页数据,那你就可能处在一个需要登录验证才能上网的环境...
  • 2、简洁的WiFi管理界面在这里你可以随时切换WiFi,并检测网络速度、网络状态等。 3、100000合作WiFi免费热点无论是商户、驾校、网吧还是公寓,小娱100000个免费热点等着你上极速、安全的WiFi网络环境小娱为你推荐...
  • Webview WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页 Activity Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,是一个负责与...
  • 您只要在淘宝上花几十块购买蓝牙设备ELM327(汽车检测仪),就可以使用安卓手机上这款杀手级应用直接读取车辆引擎最准确的所有信息。 您只要将ELM327的检测卡,插在OBD接口上,并将手机蓝牙打开,即可自动连上,不...
  • 本教程支持安卓,苹果手机照片的自动打印,设置完成无需人工操作。 各种问题无法安装的请看最后 一. 1.运行Setup.exe 安装程序 所有都用默认即可。 二. 2.Setup安装完后请自行运行C:\Printer\net\phpStudy.exe...
  • 网上有的说是检测.9图片出错,或者资源文件出错。但究竟是哪里出错,能否通过日志展示具体的位置,这样更方便排查问题。 第一种解决方案 网上有解决方案说,打开gradle.properties,添加如下内容:android....
  • 作者简介:丰生强(网名非虫),Android软件安全专家,看雪论坛Android安全版版主,安卓巴士开发交流版版主。 目录 第1章 Android程序分析环境搭建 1.1 Windows分析环境搭建 1.1.1 安装JDK 1.1.2 安装Android SDK ...
  • 原因在于框架中的 PermissionFragment 在 commit / commitNow 到 Activity 的时候会做一个检测,如果 Activity 的状态是不可见时则会抛出异常,而 RxPeremission 正是使用了 commitNow 才会导致崩溃 ,使用 ...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

安卓检测网络状态