Android开发之获取网络链接状态
网络开发是Android程序设计一个非常重要的内容,今天本文就和大家一起分享一下Android网络开发的一点经验。
本文主要通过实例形式说明了Android获取网络链接状态的方法。具体内容如下:
就目前的Android手机来说,可能存在如下5种网络状态:
----无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因)
----使用WIFI上网
----CMWAP(中国移动代理)
----CMNET上网
----2G/3G/4G上网
很多时候我们需要判断用户是否开启网络设置,通常通过ConnectivityManager类来判断网络连接是否存在。
获取网络状态:
那到底如何使用这个类呢?如何和用户进行交互呢?具体示例如下:
publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ConnectivityManagernw=(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfonetinfo=nw.getActiveNetworkInfo();
Toast.makeText(MainActivity.this,"当前网络"+add(netinfo.isAvailable())+","+"网络"+app(netinfo.isConnected())+","+"网络连接"+adp(netinfo.isConnected()),Toast.LENGTH_LONG).show();//给用户提示网络状态
}
Stringadd(Booleanbl){
Strings="不可用";
if(bl==true){
s="可用";
}
returns;
}
Stringapp(Booleanbl){
Strings="未连接";
if(bl==true){
s="已连接";
}
returns;
}
Stringadp(Booleanbl){
Strings="不存在!";
if(bl==true){
s="存在!";
}
returns;
}
}
当然一定不要忘记在配置文件中获取网络权限,代码如下:
<!--获得网络权限--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
希望本文所述示例对大家Android程序设计有一定的帮助。