使用系统方法监听网络是否可用遇到的坑

本文记录了一个Android项目中使用系统方法监听网络时遇到的问题,即广播监听无法区分已连接但未认证的网络。解决方案包括使用API6.0以上的方法延迟判断网络是否真正可用,或者通过ping检测或ConnectivityManager注册网络监听来更准确地判断网络状态。
摘要由CSDN通过智能技术生成

记录一个最近项目上使用系统方法判断网络是否碰到的坑。
一般项目都会有公共的方法然后使用观察者模式给业务提供接口监听网络,因为公司是老项目,监听网络的方式是注册广播。
具体的实现方式如下(在这里简单实现一下)
首先是自定一个接口

public interface NetListener {
   
    void onNetworkChanged(int type);
}
public class DeviceStatusDispatch {
   
    private final Context mContext;
    private static volatile DeviceStatusDispatch mInstance;
    private final Receiver mReciver;
    private ArrayList<NetListener> mListeners;
 
    public static DeviceStatusDispatch getInstance(Context context){
   
        if(mInstance == null){
   
        synchronized(DeviceStatusDispatch.this){
   
            if(mInstance 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值