基础判断网络

来源:互联网 发布:python buffer对象 编辑:程序博客网 时间:2024/06/04 18:05

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

public class MainActivity extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        int netType = NetStateUtil.getNetType(MainActivity.this);
        if (netType != -1) {
            initdata();
        }else {
            Toast.makeText(this, "请检查网络", Toast.LENGTH_SHORT).show();
        }
        


    }


    private void initdata() {
        Toast.makeText(this, "我有网络哈哈哈哈", Toast.LENGTH_SHORT).show();
    }

}


Util类

class NetStateUtil {

    /**
     * 获取手机网络状态
     * -1 :无网络
     *  0 :  蜂窝网络;
     * 1  : wifi网络
     * @return
     * @param context 上下文对象
     */
    public static int getNetType(Context context) {
        int mState = -1;// 代表无网络
        //获取android系统提供的服务, 转换成链接管理类,这个类专门处理链接相关的东西
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //NetworkInfo封装了网络链接的信息
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        if(activeNetworkInfo ==null){
            return mState;
        }
        int type = activeNetworkInfo.getType();


        if (type == ConnectivityManager.TYPE_WIFI) {//代表现在是wifi网络
            mState = 1;
        }else if(type == ConnectivityManager.TYPE_MOBILE ){
            mState = 0;
        }
        return mState;
    }
}

原创粉丝点击