File tree Expand file tree Collapse file tree 2 files changed +93
-2
lines changed
app/src/main/java/com/kongqw/networkmonitor Expand file tree Collapse file tree 2 files changed +93
-2
lines changed Original file line number Diff line number Diff line change 11# AndroidNetworkMonitor
22
3- > Android 全局网络变化监听
3+ [ ![ ] ( https://jitpack.io/v/kongqw/NetworkMonitor.svg )] ( https://jitpack.io/#kongqw/NetworkMonitor )
4+
5+ > Android 全局网络变化监听
6+
7+ ## How to
8+ To get a Git project into your build:
9+
10+ Step 1. Add the JitPack repository to your build file
11+
12+ Add it in your root build.gradle at the end of repositories:
13+
14+ ``` glide
15+ allprojects {
16+ repositories {
17+ ...
18+ maven { url 'https://jitpack.io' }
19+ }
20+ }
21+ ```
22+
23+ Step 2. Add the dependency
24+
25+ ``` glide
26+ dependencies {
27+ implementation 'com.github.kongqw:NetworkMonitor:1.0.0'
28+ }
29+ ```
30+
31+ ## 使用
32+ ### 初始化
33+
34+ 在` Application ` 中初始化
35+
36+ ``` kotlin
37+ NetworkMonitorManager .getInstance().init (this )
38+ ```
39+
40+ ### 注册
41+
42+ 在需要监听网络状态的页面进行注册
43+
44+ ``` kotlin
45+ NetworkMonitorManager .getInstance().register(this )
46+ ```
47+
48+ ### 反注册
49+
50+ ``` kotlin
51+ NetworkMonitorManager .getInstance().unregister(this )
52+ ```
53+
54+ ### 监听网络状态变化
55+
56+ ``` kotlin
57+ @NetworkMonitor
58+ fun onNetWorkStateChange (networkState : NetworkState ) {
59+ when (networkState) {
60+ NetworkState .NONE -> {
61+ // TODO 暂无网络
62+ }
63+ NetworkState .WIFI -> {
64+ // TODO WIFI网络
65+ }
66+ NetworkState .CELLULAR -> {
67+ // TODO 蜂窝网络
68+ }
69+ }
70+ }
71+ ```
72+
73+ 也可以监听指定网络状态,例如
74+
75+ ``` kotlin
76+ @NetworkMonitor(monitorFilter = [NetworkState .NONE ])
77+ fun onNetWorkStateChangeNONE (networkState : NetworkState ) {
78+ // TODO 网络断开时回调
79+ }
80+ ```
81+
82+ ``` kotlin
83+ @NetworkMonitor(monitorFilter = [NetworkState .WIFI ])
84+ fun onNetWorkStateChange1 (networkState : NetworkState ) {
85+ // TODO WIFI连接上的时候回调
86+ }
87+ ```
88+
89+ ``` kotlin
90+ @NetworkMonitor(monitorFilter = [NetworkState .WIFI , NetworkState .CELLULAR ])
91+ fun onNetWorkStateChange2 (networkState : NetworkState ) {
92+ // TODO 连接上WIFI或蜂窝网络的时候回调
93+ }
94+ ```
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ class MainActivity : AppCompatActivity() {
5656 }
5757 }
5858
59- @NetworkMonitor(monitorFilter = [NetworkState .WIFI ])
59+ @NetworkMonitor(monitorFilter = [NetworkState .WIFI , NetworkState . CELLULAR ])
6060 fun onNetWorkStateChangeWIFI (networkState : NetworkState ) {
6161 Log .i(TAG , " onNetWorkStateChangeWIFI networkState = $networkState " )
6262 }
You can’t perform that action at this time.
0 commit comments