Skip to content

Commit 3b7cbf5

Browse files
authored
Merge pull request #3 from react-native-oh-library/dev
修复isInternetReachable属性异常问题
2 parents 4d1cc19 + 6951c5e commit 3b7cbf5

File tree

5 files changed

+37
-35
lines changed

5 files changed

+37
-35
lines changed

harmony/netinfo.har

-224 Bytes
Binary file not shown.

harmony/netinfo/src/main/ets/NetInfoTurboModule.ts

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -97,43 +97,42 @@ export class NetInfoTurboModule extends TurboModule {
9797
// 订阅网络可用事件
9898
this.netConnection.on('netAvailable', (data) => {
9999
Logger.info('netAvailable,' + JSON.stringify(data));
100-
if (this.numberOfListeners > 0) {
101-
this.createConnectionEvent()
102-
.then((data) => {
103-
Logger.info('netInfo.networkStatusDidChange,netAvailable' + this.numberOfListeners)
104-
this.ctx.rnInstance.emitDeviceEvent('netInfo.networkStatusDidChange', data)
105-
})
106-
}
100+
this.listenerGetCurrentState()
107101
})
108102
// 订阅网络阻塞状态事件
109-
this.netConnection.on('netBlockStatusChange', (data) => {
110-
Logger.info('netBlockStatusChange,' + JSON.stringify(data));
111-
})
112-
// 订阅网络能力变化事件
113-
// this.netConnection.on('netCapabilitiesChange', (data) => {
114-
// Logger.info('netCapabilitiesChange,' + JSON.stringify(data));
103+
// this.netConnection.on('netBlockStatusChange', (data) => {
104+
// Logger.info('netBlockStatusChange,' + JSON.stringify(data));
115105
// })
116-
// 订阅网络连接信息变化事件
117-
this.netConnection.on('netConnectionPropertiesChange', (data) => {
118-
Logger.info('netConnectionPropertiesChange,' + JSON.stringify(data));
106+
// 订阅网络能力变化事件
107+
this.netConnection.on('netCapabilitiesChange', (data) => {
108+
Logger.info('netCapabilitiesChange,' + JSON.stringify(data));
109+
this.listenerGetCurrentState()
119110
})
111+
// 订阅网络连接信息变化事件
112+
// this.netConnection.on('netConnectionPropertiesChange', (data) => {
113+
// Logger.info('netConnectionPropertiesChange,' + JSON.stringify(data));
114+
// })
120115
// 订阅网络丢失事件
121116
this.netConnection.on('netLost', (data) => {
122117
Logger.info('netLost,' + JSON.stringify(data))
123-
if (this.numberOfListeners > 0) {
124-
this.createConnectionEvent()
125-
.then(data => {
126-
Logger.info('netInfo.networkStatusDidChange,netLost' + this.numberOfListeners)
127-
this.ctx.rnInstance.emitDeviceEvent('netInfo.networkStatusDidChange', data)
128-
})
129-
}
118+
this.listenerGetCurrentState()
130119
})
131120
// 订阅网络不可用事件
132121
this.netConnection.on('netUnavailable', (data) => {
133122
Logger.info('netUnavailable,' + JSON.stringify(data))
123+
this.listenerGetCurrentState()
134124
})
135125
}
136126

127+
listenerGetCurrentState(): void {
128+
if (this.numberOfListeners > 0) {
129+
this.createConnectionEvent()
130+
.then(data => {
131+
this.ctx.rnInstance.emitDeviceEvent('netInfo.networkStatusDidChange', data)
132+
})
133+
}
134+
}
135+
137136
async createConnectionEvent(): Promise<NetInfoState> {
138137
//判断wifi使能
139138
const event: NetInfoState = {}
@@ -163,9 +162,12 @@ export class NetInfoTurboModule extends TurboModule {
163162
case 3:
164163
event.type = 'ethernet'
165164
break
165+
default:
166+
event.type = 'unknown'
167+
break
166168
}
167169
} //判断是否可访问internet
168-
event.isInternetReachable = netCapabilities.networkCap.indexOf(12) != -1
170+
event.isInternetReachable = netCapabilities.networkCap.indexOf(16) != -1
169171
// if (netCapabilities.networkCap.length == 1) {
170172
// event.isInternetReachable = netCapabilities.networkCap[0] == 12
171173
// }
@@ -180,26 +182,26 @@ export class NetInfoTurboModule extends TurboModule {
180182
case 'cellular':
181183
break
182184
case 'wifi':
183-
//wifi信息
185+
//wifi信息
184186
const linkedInfo = await wifiManager.getLinkedInfo()
185-
//ssid
187+
//ssid
186188
details.ssid = linkedInfo.ssid
187-
//bssid
189+
//bssid
188190
details.bssid = linkedInfo.bssid
189-
//信号强度 与安卓备注有区别
191+
//信号强度 与安卓备注有区别
190192
details.strength = linkedInfo.rssi
191-
//ipAddress
193+
//ipAddress
192194
const ipInfo = wifiManager.getIpInfo();
193195
details.ipAddress = this.ipToString(ipInfo.ipAddress)
194-
//subnet 掩码
196+
//subnet 掩码
195197
details.subnet = this.ipToString(ipInfo.netmask)
196-
//frequency
198+
//frequency
197199
details.frequency = linkedInfo.frequency
198-
//linkSpeed
200+
//linkSpeed
199201
details.linkSpeed = linkedInfo.linkSpeed
200-
//rxLinkSpeed
202+
//rxLinkSpeed
201203
details.rxLinkSpeed = linkedInfo.rxLinkSpeed
202-
//txLinkSpeed
204+
//txLinkSpeed
203205
details.txLinkSpeed = linkedInfo.linkSpeed
204206
break
205207
case 'ethernet':

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@react-native-oh-library/netinfo",
3-
"version": "11.1.0-0.0.1",
3+
"version": "11.1.0-0.0.2",
44
"description": "React Native Network Info API for iOS & Android",
55
"harmony": {
66
"alias": "@react-native-community/netinfo"
-145 KB
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)