Android判断当前网络是否可用--示例代码

Android判断当前网络是否可用--示例代码

分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报

网络androiddialogmanagernetworknull

在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。

先看一个自己定义的应用类。

  1. public class NetworkDetector {  
  2.    
  3.     public static boolean detect(Activity act) {  
  4.         
  5.        ConnectivityManager manager = (ConnectivityManager) act  
  6.               .getApplicationContext().getSystemService(  
  7.                      Context.CONNECTIVITY_SERVICE);  
  8.         
  9.        if (manager == null) {  
  10.            return false;  
  11.        }  
  12.         
  13.        NetworkInfo networkinfo = manager.getActiveNetworkInfo();  
  14.         
  15.        if (networkinfo == null || !networkinfo.isAvailable()) {  
  16.            return false;  
  17.        }  
  18.    
  19.        return true;  
  20.     }  
  21. }  

 

这个类只有一个静态方法,用来检测当前系统的网络是否可用。如果可用,返回true。

还要进一步说明的是,NetworkInfo类中有一个方法getType(),这个方法可以用来判断当前可用的网络是wifi,还是mobile等等。

再来看使用的例子。

  1. boolean networkState = NetworkDetector.detect(XXXActivity.this);
  2. if (!networkState) {
  3. DialogUtil.openMsgDialog(XXXActivity.this,
  4. android.R.drawable.ic_dialog_info,
  5. “网络不可用,是否现在设置网络?”, android.R.string.ok,
  6. android.R.string.cancel,
  7. new DialogInterface.OnClickListener() {
  8. @Override
  9. public void onClick(DialogInterface dialog, int which) {
  10. startActivityForResult(new Intent(
  11. ACTION_WIRELESS_SETTINGS), 0);
  12. }
  13. }, new DialogInterface.OnClickListener() {
  14. @Override
  15. public void onClick(DialogInterface dialog, int which) {
  16. dialog.cancel();
  17. }
  18. }).show();
  19. }

其中XXXActivity是我自己的Activity类,DialogUtil是我自己定义的Dialog应用类。这里的代码片段,是在判断没有网络的情况下,弹出dialog,提示用户是否进入系统的网络设置界面。

因为以上代码用到了权限,需要在AndroidManifest文件中加入如下权限代码:

<uses-permission

android:name="android.permission.ACCESS_NETWORK_STATE" />

---------------------------------------------------------------------------

GL(arui319)

http://blog.csdn.net/arui319

<本文可以转载,但是请保留以上作者信息。谢谢。>

Android判断当前网络是否可用--示例代码,布布扣,bubuko.com

时间: 2024-12-06 13:33:03

Android判断当前网络是否可用--示例代码的相关文章

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

用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 检测当前网络是否可用,代码如下: /** * 检测当的网络(WLAN.3G/2G)状态 * @param context Context * @return true 表示网络可用 */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager

Android 用ping的方法判断当前网络是否可用

判断网络的情况中,有个比较麻烦的情况就是连上了某个网络,但是那个网络无法上网 ,,, = = 想到了用ping指令来判断,经测试,可行~ ~ ~ private static final boolean ping() { String result = null; try { String ip = "www.baidu.com";// 除非百度挂了,否则用这个应该没问题~ Process p = Runtime.getRuntime().exec("ping -c 3 -w

Android中判断当前网络是否可用

当前有可用网络,如下图: 当前没有可用网络,如下图: 实现步骤: 1.获取ConnectivityManager对象 Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECT

Android 检查手机网络是否可用

添加网络状态权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 代码示例: public void checkNet(View v){ if(isNetworkConnected(this)){ Toast.makeText(this, "网络可用",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(th

android检测当前网络是否可用

在android程序中运行第一步就是检测当前有无可用网络 如果没有网络可用就退出程序 if (isConnect(this)==false) { new AlertDialog.Builder(this) .setTitle("网络错误") .setMessage("网络连接失败,请确认网络连接") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override

Android 判断当前网络连接类型

实际应用开发时,如果存在需要用户获取大量数据的情况,最好是先判断下网络类型,提示用户当前的网络类型,是否需要连接Wifi,etc.(手机流量太贵啦,当然土豪是无视这玩意的, (/ □ \)). 定义网络连接类型: public static final int NETTYPE_NULL = 0x00; //未连接网络 public static final int NETTYPE_WIFI = 0x01; //WIFI public static final int NETTYPE_MOBILE

android判断当前网络状态及跳转到设置界面

今天,想做这个跳转到网络设置界面, 刚开始用 intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 不料老是出现settings.WirelessSettings找不到(就是没法提示出来,显示红色底纹),我后来查了下资料,结果发现跟版本有关,我的是安卓4.3的,所以需要用                         intent = new Intent(android.provider.Settings.ACTION_WIRELES

python,网络爬虫完整示例代码--抓取中国最好大学排名网站信息,并进行输出显示

import requests,bs4 from bs4 import BeautifulSoup def getHTMLText(url): try: r=requests.get(url) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: print("request failed") def getObjectData(soup): li=[] for tr in soup.find

判断有无网络

实现步骤: 1.获取ConnectivityManager对象 Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 2.获取Network