Android检测手机或PAD是否连网


1. 引言

    在进行Android手机或PAD的网络开发过程中,检测是否已经连接互连网是必不可少的一步,下面介绍其代码实现。

2. 功能实现

    (1) 主布局(main.xml)实现:

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"  
  3.     android:orientation = "vertical"  
  4.     android:layout_width = "fill_parent"  
  5.     android:layout_height = "fill_parent"  
  6.     >   
  7.        
  8.     <Button   
  9.         android:id = "@+id/checkNetWork"  
  10.         android:text = "检测网络"  
  11.         android:layout_width = "wrap_content"  
  12.         android:layout_height = "wrap_content"  
  13.         />   
  14.        
  15. </LinearLayout>  

    (2) 主Activity实现:  

  1. package com.flora;   
  2. import android.app.Activity;   
  3. import android.content.Context;   
  4. import android.net.ConnectivityManager;   
  5. import android.os.Bundle;   
  6. import android.view.View;   
  7. import android.view.View.OnClickListener;   
  8. import android.widget.Button;   
  9. import android.widget.Toast;   
  10. public class NetWorkActivity extends Activity {   
  11.        
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {   
  14.         super.onCreate(savedInstanceState);   
  15.         setContentView(R.layout.main);   
  16.            
  17.         Button checkNetWork = (Button) findViewById(R.id.checkNetWork);   
  18.         checkNetWork.setOnClickListener(new OnClickListener() {   
  19.             @Override  
  20.             public void onClick(View view) {   
  21.                 if (checkNetWorkStatus()) {   
  22.                     Toast.makeText(NetWorkActivity.this"连接成功!", Toast.LENGTH_SHORT).show();   
  23.                 } else {   
  24.                     Toast.makeText(NetWorkActivity.this"连接失败!", Toast.LENGTH_SHORT).show();   
  25.                 }   
  26.             }   
  27.         });   
  28.     }   
  29.     private boolean checkNetWorkStatus() {   
  30.         boolean netSataus = false;   
  31.            
  32.         ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);   
  33.         cwjManager.getActiveNetworkInfo();   
  34.         if (cwjManager.getActiveNetworkInfo() != null) {   
  35.             netSataus = cwjManager.getActiveNetworkInfo().isAvailable();   
  36.         }   
  37.         return netSataus;   
  38.     }   
  39. }  

相关内容