网络连接类型判断
2012-11-13 10:21
381 查看
转自:http://blog.sina.com.cn/s/blog_61f4999d0100r8ud.html
其中选择接入点的函数可以参考
public int startUsingNetworkFeature (int networkType, String feature)。
3.GPRS网络连接类型(cmwap/cmnet)程序判断
本来想通过contenprovider将APN设置的数据库当前选择读出来,但似乎在我的HTC G2上无法运行。后来想直接通过读取网络连接信息来得到相关连接类型,涉及类包括:ConnectivityManager以及NetworkInfo。主要在getExtraInfo()得到类型结果。不多说,贴代码如下:
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE );
if( mobNetInfo != null )
{
Toast.makeText( this, "Mobile Network Type : " + mobNetInfo.getExtraInfo(), Toast.LENGTH_SHORT ).show();
}
}
注:
判断网络类型可以直接通过networkInfo.getType()的返回值来判断。
如:
Context context = listActivity.getApplicationContext();//获取应用上下文
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
//判断WIFI网
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
//判断3G网
}
可能会用到:
// 跳转到无线网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
// 跳转到无限wifi网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
1.网络连接类型判断 NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI/TYPE_MOBILE 或者 ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if (connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) text.setText("wifi方式连接"); if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED) text.setText("GPRS方式连接"); 如果拟开发一个网络应用的程序,首先考虑是否接入网络,在Android手机中判断是否联网可以通过 ConnectivityManager 类的isAvailable()方法判断,首先获取网络通讯类的实例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用cwjManager.getActiveNetworkInfo().isAvailable(); 来返回是否有效,如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等,具体的可以通过 ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式,需要注意的是有关调用需要加入 这个权限,android开发网提醒大家在真机上Market和Browser程序都使用了这个方法,来判断是否继续,同时在一些网络超时的时候也可以检查下网络连接是否存在,以免浪费手机上的电力资源。 android 中查看当前是否联网 方法如下: ConnectivityManager cManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cwjManager.getActiveNetworkInfo(); if (info != null && info.isAvailable()){ //do something //能联网 return true; }else{ //do something //不能联网 return false; } 如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等,具体的可以通过 ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式。 同时要在manifest里面加个权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 2、 |
public int startUsingNetworkFeature (int networkType, String feature)。
3.GPRS网络连接类型(cmwap/cmnet)程序判断
本来想通过contenprovider将APN设置的数据库当前选择读出来,但似乎在我的HTC G2上无法运行。后来想直接通过读取网络连接信息来得到相关连接类型,涉及类包括:ConnectivityManager以及NetworkInfo。主要在getExtraInfo()得到类型结果。不多说,贴代码如下:
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE );
if( mobNetInfo != null )
{
Toast.makeText( this, "Mobile Network Type : " + mobNetInfo.getExtraInfo(), Toast.LENGTH_SHORT ).show();
}
}
注:
判断网络类型可以直接通过networkInfo.getType()的返回值来判断。
如:
Context context = listActivity.getApplicationContext();//获取应用上下文
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
//判断WIFI网
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
//判断3G网
}
可能会用到:
// 跳转到无线网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
// 跳转到无限wifi网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
相关文章推荐
- iphone判断当前网络连接类型
- Android判断网络是否连接以及连接类型
- iphone最牛判断当前手机网络连接类型wifi-2G-3G-4G-5G
- 手机网络连接类型判断 2/3/4G网络 WiFi和无网络 工具类
- Android之判断手机连接的网络类型是WIFI还是2G/3G/4G
- android当前网络连接类型判断
- iphone判断当前网络连接类型WIF、WWAN、2G和3G
- C#通过系统API判断网络连接类型及状态
- Android之判断手机连接的网络类型是WIFI还是2G/3G/4G
- Unity如何判断网络连接类型
- 判断是否连接网络,当前网络类型,Gps是否打开
- [Android实例] 判断网络是否连接,然后选择网络类型(比如wifi等)来连接网络
- IOS判断当前网络连接类型(可区分2G和3G)
- 常见的http状态响应码和判断手机网络是否连接以及连接类型
- 网络连接类型判断
- Android-判断是否有网络连接&&类型
- 判断网络连接及连接属于哪种类型
- iOS判断网络连接类型
- Android网络判断是否连接和网络类型
- ConnectivityManager判断当前网络连接类型,非WiFi网络流量加载模式