ConnectivityManage——基础用法(一)

来源:互联网 发布:希尔伯特矩阵理解 编辑:程序博客网 时间:2024/05/29 09:43

ConnectivityManage基础用法(一)

判断是否有网络连接

 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();            if (networkInfo!=null&&networkInfo.isAvailable()){                Toast.makeText(context,"network is available",Toast.LENGTH_SHORT).show();            }else {                Toast.makeText(context, "network is unavailable", Toast.LENGTH_SHORT).show();            }

ConnectivityManage 是一个专门用来管理网络连接的服务类

调用它的getActivieNetworkInfo()方法获取到NetworkInfo的实例

通过NetworkInfo 判断是否连接网络


------------------------------------------分割线---------------------------------------------------(QwQ)


判断网络连接 就离不开 广播了

动态注册一个广播(T。T)代码如下

public class MainActivity extends AppCompatActivity {    private IntentFilter intentFilter;    private NetwokChangeReceiver netwokChangeReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        intentFilter = new IntentFilter();//IntentFilter 是隐式Intent的过滤器        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); //设置过滤条件        netwokChangeReceiver = new NetwokChangeReceiver(); //实例化一条广播        registerReceiver(netwokChangeReceiver,intentFilter);//注册广播    }    @Override    protected void onDestroy() {        super.onDestroy();        unregisterReceiver(netwokChangeReceiver); //取消注册广播    }    class NetwokChangeReceiver extends BroadcastReceiver{        @Override        public void onReceive(Context context, Intent intent) {            ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();            if (networkInfo!=null&&networkInfo.isAvailable()){                Toast.makeText(context,"network is available",Toast.LENGTH_SHORT).show();            }else {                Toast.makeText(context, "network is unavailable", Toast.LENGTH_SHORT).show();            }        }    }}

还需要在AndroidManifest.xml中声明访问系统网络的权限

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


0 0
原创粉丝点击