android

Android下检测网络状态 3G WIFI

位置:首页 > android > 开发技巧,2013-06-07
Android下检测网络状态3GWIFI实现代码如下packageAndroid.HelloAndroid;importandroid.app.Activity;importandroid.app.A...

Android下检测网络状态 3G WIFI

实现 代码如下

package Android.HelloAndroid;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
public class Hello extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      
     super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("检测网络状态");
        setContentView(tv);
        
        checkNetworkInfo();
     goodNet();
     }
    public boolean goodNet()
    {  
        ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);    
        NetworkInfo networkinfo = manager.getActiveNetworkInfo();    
        if (networkinfo == null || !networkinfo.isAvailable()) {    
            new AlertDialog.Builder(this).setMessage("没有可以使用的网络").setPositiveButton("Ok", null).show();
            return false;  
        }  
        new AlertDialog.Builder(this).setMessage("网络正常可以使用").setPositiveButton("Ok", null).show();
        return true;  
    } 
    
    
    private void checkNetworkInfo()
    {
     ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);        //mobile 3G Data Network
     State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
     new AlertDialog.Builder(this).setMessage(mobile.toString()).setPositiveButton("3G", null).show();//显示3G网络连接状态
     State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        
     new AlertDialog.Builder(this).setMessage(wifi.toString()).setPositiveButton("WIFI", null).show();//显示wifi网络连接状态
    }
}
 

需要注意:

根据Android的安全机制,在使用ConnectivityManager时,必须在AndroidManifest.xml中添加<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 否则无法获得系统的许可。

TAGS:3gwifi网络androidimportandroidconnectivitymanagernullshow

猜你喜欢

NewHot