用BroadcastReceiver广播监听判断android手机网络状态。

一、新建Receiver类继承BroadcastReceiver

public class ConnectReceiver extends BroadcastReceiver{    @Override    public void onReceive(Context context, Intent intent) {        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();        if(networkInfo!=null && networkInfo.getType()== ConnectivityManager.TYPE_WIFI){            Toast.makeText(context,"now is wifi",Toast.LENGTH_SHORT).show();        }        else if(networkInfo!=null && networkInfo.getType()== ConnectivityManager.TYPE_MOBILE){            Toast.makeText(context,"now is 移动数据",Toast.LENGTH_SHORT).show();        }        else{            Toast.makeText(context,"没有网络",Toast.LENGTH_SHORT).show();        }    }}

二、AndroidMainfest.xml静态注册Receiver类,注意添加网络权限

    
                

三、监听处理,注意在onDestroy()里取消广播接收器的注册

public class MainActivity extends AppCompatActivity {    private ConnectReceiver connectReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");        connectReceiver = new ConnectReceiver();        registerReceiver(connectReceiver,intentFilter);    }    @Override    protected void onDestroy() {        unregisterReceiver(connectReceiver);        super.onDestroy();    }}

 

更多相关文章

  1. android判断网络连接状态
  2. android 扫面无线网络
  3. android 网络请求图片
  4. [Android] 监听系统网络连接打开或者关闭的消息
  5. Android Get Network Type获得网络类型
  6. android判断网络
  7. Android 监听网络变化

随机推荐

  1. android fragment的显示隐藏生命周期简述
  2. 第八节(Activity布局初步一)
  3. Android(安卓)刷脸神器,颜值价更高
  4. 自定义两行可左右滑动的GridView
  5. Android(安卓)读取工程中的txt文件
  6. ninepatch 分析
  7. Zygote
  8. Android Gradle和Gradle插件区别
  9. Android使用cocos2d做简单的平移动画
  10. Android train——ListView绑定ArrayAdap