Android 判斷網路是否正常

一個未來的大牛發表於2017-10-23

1.自己寫一個類,用來返回值

public class Utils {

 /**
     * 返回值 -1:沒有網路  1:WIFI網路   2:net網路
     */
    public static int getNetype(Context context) {
        int netType = -1;
        ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if (networkInfo == null) {
            return netType;
        }
        int nType = networkInfo.getType();
        if (nType == ConnectivityManager.TYPE_MOBILE) {
            netType = 2;
        } else if (nType == ConnectivityManager.TYPE_WIFI) {
            netType = 1;
        }
        return netType;
    }

}


2.清單許可權

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

3.接受傳回來的值,用來判斷狀態

 int i = Util.getNetype(MainActivity.this);
        if(i==-1)
        {
            Toast.makeText(this,"沒網",Toast.LENGTH_SHORT).show();
        }else if(i==1)
        {
            Toast.makeText(this,"wife網路",Toast.LENGTH_SHORT).show();
        }else if(i==2)
        {
            Toast.makeText(this,"行動網路",Toast.LENGTH_SHORT).show();
        }

相關文章