我想使用 NativeScript/JavaScript 获取设备的本地 IP 地址。
我进行了搜索并找到了一种在 Android 上执行此操作的方法,但我希望有一个也适用于 iOS 的跨平台解决方案。
我目前正在使用 NSPlayground 在运行 iOS 11.4 的 iPhone 6S 上。
Best Answer-推荐答案 strong>
如果您没有找到可以轻松完成此操作的插件,您将不得不 access the native platform-specific APIs自己在每个平台上做。
在 Android 上,您可以执行以下操作:
import * as application from 'application';
...
const wifiService: any = application.android.context
.getSystemService(android.content.Context.WIFI_SERVICE);
// See https://developer.android.com/reference/android/net/wifi/WifiManager#getConnectionInfo()
const wifiInfo: any = wifiService.getConnectionInfo();
// See https://developer.android.com/reference/android/net/wifi/WifiInfo.html#getIpAddress()
const ip: number = wifiInfo.getIpAddress();
注意 WifiInfo#getIpAddress 返回的 IP是 TypeScript 中的 number (Java 中的 int ),这意味着您需要一种方法来将其转换为 CIDR notation :
|