zoukankan      html  css  js  c++  java
  • 通过广播监听网络状态

    通过广播监听网络状态

    首先声明权限

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

    创建一个广播接收器继承自BroadcastReceiver

    当对应广播到来时,就会执行 onReceive 方法

     class NetworkChangeReceiver 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();
                }
            }
        }
    

    创建IntentFilter实例,并添加特定action,然后注册

       private IntentFilter intentFilter;
       private NetworkChangeReceiver networkChangeReceiver;
    
            //动态注册
            intentFilter = new IntentFilter();
            intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
    
            networkChangeReceiver = new NetworkChangeReceiver();
    
            registerReceiver(networkChangeReceiver, intentFilter);
    

    最后记得取消注册

      @Override
        protected void onDestroy() {
            super.onDestroy();
            unregisterReceiver(networkChangeReceiver);  //取消注册
        }
    
    文章部分内容摘自网络和图书,如有侵权,请联系我。
  • 相关阅读:
    Spring 基础知识
    AJAX 基础知识
    Struts2 基础知识
    数据库——视图
    JAVA常见的集合类知识
    jsp同一应用中页面间传值方式
    mongodb 设置数据库管理员登录权限
    java freemark生成word文档
    java 多个文件打包zip
    easyui form提交文件(上传图片和文件)
  • 原文地址:https://www.cnblogs.com/-Tiger/p/7217600.html
Copyright © 2011-2022 走看看