Android检测网络连接
2015-12-27 14:55
513 查看
Android检测网络连接
在Android中我们可以用ConnectivityManage来获取网络连接的相关状态;
~获取连接名称
public String getTypeName()
获取连接是否可用
public boolean isAvailable();
获取连接是否连接
public boolean isConnected();
获取连接状态
public State getState()
记住权限一定要添加哦。。。。。
-已连接:已通过该方式连入到网络当中;
Model与Wifi不可同时使用,一般wifi会优先使用。(大家在日常生活中,wifi连接时,移动网络就失效,系统就关闭移动网络的连接了!)
在Android中我们可以用ConnectivityManage来获取网络连接的相关状态;
~获取连接名称
public String getTypeName()
获取连接是否可用
public boolean isAvailable();
获取连接是否连接
public boolean isConnected();
获取连接状态
public State getState()
记住权限一定要添加哦。。。。。
[code]<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
一定要分清“可用”与“已连接”
-可用:是硬件设备支持网络连接,并且可以使用;-已连接:已通过该方式连入到网络当中;
Model与Wifi不可同时使用,一般wifi会优先使用。(大家在日常生活中,wifi连接时,移动网络就失效,系统就关闭移动网络的连接了!)
[code]public class MainActivity extends Activity implements OnClickListener { Button button, button1; ConnectivityManager cn; private TextView text = null; WifiManager wifi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //通过ConnectivityManager连接网络相关状态 cn= (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); text = (TextView) findViewById(R.id.texzt); button = (Button) findViewById(R.id.button1); button1 = (Button) findViewById(R.id.button2); button.setOnClickListener(this); } @Override public void onClick(View view) { // TODO Auto-generated method stub //getActiveNetworkInfo获取可用连接状态 //NetworkInfo info2 = cn.getActiveNetworkInfo(); //getNetWorkInfo获取指定连接,这里是WIFI //NetworkInfo info = cn.getNetworkInfo(ConnectivityManager.TYPE_WIFI); NetworkInfo[] info = cn.getAllNetworkInfo(); //获取网络连接信息,放到一个数组中 if (info != null) { Toast.makeText(MainActivity.this, "当前网络可用", Toast.LENGTH_LONG).show(); for (int i = 0; i < info.length; i++) { text.append("\n现在连接类型"+info[i].getTypeName()+"\t状态:"+info[1].getState()+"\n"); //getState为获取当前连接状态,getTypeName获取连接类型名称,WIFI连接时返回wifi,移动网络时返回mobile if (info[i].isConnected()) { text.append("可以连接"); }else { text.append("没有连接"); } } //text.setText("现在可以连接网络,类型:"+info.getTypeName()+info.getState()+"\n"+info2.getState()); }else { Toast.makeText(this, "当前没有可用网络", Toast.LENGTH_LONG).show(); } } }
相关文章推荐
- (1)TCP/IP简介
- 网络协议之《网络七层协议》
- 网络流之最小割
- 人工神经网络之连接权重和阈值
- Http协议编程的三种方式
- 揭秘Windows10 UWP中的httpclient接口[2]
- Linux网络常用命令及配置文件
- Eclipse错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- HTTPS 简介
- android之旅10 网络编程2: HttpClient与github的封装
- Linux网络及其配置
- 浅谈Netfilter框架原理(二)
- 训练深度网络的梯度弥散及梯度膨胀问题
- 浅谈Netfilter框架原理(一)
- URLConnection的post请求网络数据和AsyncTask异步线程
- windows平台下 c/c++进行http通信的教训
- windows平台下 c/c++进行http通信的教训
- Ubuntu 网络管理器显示“设备未托管”的解决办法
- special filter for iptables/netfilter tcpdump/tshark/wireshark
- C#检测网络连接