Android网络变化全局监听

本教程介绍如何使用AndroidNetworkMonitor库实现全局网络变化监听。通过在Application中初始化并注册监听器,开发者可以轻松获取网络状态变化,包括无网络、WIFI和蜂窝网络状态。库还提供了判断当前网络连接状态及获取当前网络类型的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AndroidNetworkMonitor

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8HuGi6bF-1582728182498)(https://jitpack.io/v/kongqw/NetworkMonitor.svg)]

Android 全局网络变化监听

GitHub的地址

How to

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency

dependencies {
        implementation 'com.github.kongqw:NetworkMonitor:1.0.1'
}

使用

初始化

Application中初始化

NetworkMonitorManager.getInstance().init(this)

注册与反注册

在需要监听网络状态的页面进行注册与反注册

NetworkMonitorManager.getInstance().register(this)
NetworkMonitorManager.getInstance().unregister(this)

监听网络状态变化

@NetworkMonitor
fun onNetWorkStateChange(networkState: NetworkState) {
    when (networkState) {
        NetworkState.NONE -> {
            // TODO 暂无网络 
        }
        NetworkState.WIFI -> {
            // TODO WIFI网络 
        }
        NetworkState.CELLULAR -> {
            // TODO 蜂窝网络 
        }
    }
}

也可以监听指定网络状态,例如

@NetworkMonitor(monitorFilter = [NetworkState.NONE])
fun onNetWorkStateChangeNONE(networkState: NetworkState) {
    // TODO 网络断开时回调
}
@NetworkMonitor(monitorFilter = [NetworkState.WIFI])
fun onNetWorkStateChange1(networkState: NetworkState) {
    // TODO WIFI连接上的时候回调
}
@NetworkMonitor(monitorFilter = [NetworkState.WIFI, NetworkState.CELLULAR])
fun onNetWorkStateChange2(networkState: NetworkState) {
    // TODO 连接上WIFI或蜂窝网络的时候回调
}

判断当前是否有网络连接

val hasNetworkCapability: Boolean = NetworkStateUtils.hasNetworkCapability(applicationContext)

获取当前的网络状态

val networkState: NetworkState = NetworkStateUtils.getNetworkState(applicationContext)

混淆

-keepattributes *Annotation*
-keepclassmembers class * {
    @com.kongqw.network.monitor.interfaces.NetworkMonitor <methods>;
}
-keep class com.kongqw.network.monitor.** { *; }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值