8.7 版本发布—WinterCG 兼容性第一部分
了解更多

Connectivity 提供易于使用的 API,整合了相应的平台原生 API 来与网络的连接类型和可用性进行交互。

使用连接性

要使用 Connectivity,请从 @nativescript/core 中导入它。

ts
import { Connectivity } from '@nativescript/core'

获取当前连接类型

要检查当前连接的是哪种类型的网络,请使用 getConnectionType() 方法。

ts
const connectionType: number = Connectivity.getConnectionType()

if (connectionType) {
  // `Connectivity.connectionType.none`` is `0` so truthiness can be used to determine if the device is connected to any type of network
  fetch('https://httpbin.org/get')
    .then((response) => response.text())
    .then((result) => console.log(`Fetched ${result} with ${connectionType}`))
} else {
  console.log('Not connected to a network.')
}

可以使用 Connectivity.connectionType 枚举轻松地为某些类型的连接添加条件行为。

ts
if (
  connectionType === Connectivity.connectionType.wifi ||
  connectionType === Connectivity.connectionType.ethernet
) {
  // Download large file
} else {
  // Download mobile friendly file
}

监控连接类型变化

使用 startMonitoring() 方法可以观察连接类型的变化。

ts
Connectivity.startMonitoring((change: number) => {
  switch (change) {
    case Connectivity.connectionType.wifi:
    case Connectivity.connectionType.ethernet:
      console.log('Connected to home network')
      break
    case Connectivity.connectionType.mobile:
    case Connectivity.connectionType.bluetooth:
      console.log('Connected to mobile network')
      break
    case Connectivity.connectionType.vpn:
      console.log('Connected to vpn network')
      break
    default:
      console.log('Not connected to any network')
      break
  }
})

如果要停止监控连接性变化,请使用 stopMonitoring() 函数。

ts
Connectivity.stopMonitoring()

API

getConnectionType()

ts
Connectivity.getConnectionType(): number

此方法检索当前连接类型。它返回一个数字值,表示 connectionType 枚举值之一。

注意

对于 Android,必须将 android.permission.ACCESS_NETWORK_STATE 权限添加到 AndroidManifest.xml 文件中才能使用此方法。


startMonitoring()

ts
Connectivity.startMonitoring(connectionTypeChangedCallback: (newConnectionType: number) => void): void

此方法启动网络连接类型的监控。connectionTypeChangedCallback 是一个函数,当网络连接类型发生变化时将被调用。


stopMonitoring()

ts
Connectivity.stopMonitoring()

此方法停止网络连接类型的监控。


connectionType

ts
Connectivity.connectionType: number

此枚举定义了不同的可能的连接类型。

更多连接类型
  • none = 0
  • wifi = 1
  • mobile = 2,
  • ethernet = 3,
  • bluetooth = 4,
  • vpn = 5

API 参考

原生组件

上一个
颜色
下一个
设备