我想使用NativeScript / JavaScript获取我的设备的本地IP地址。
我已经搜索并找到了在Android上完成此操作的方法,但我希望有一个跨平台的解决方案,也可以在iOS上使用。
我目前正在iPhone 6S上使用
我已经搜索并找到了在Android上完成此操作的方法,但我希望有一个跨平台的解决方案,也可以在iOS上使用。
我目前正在iPhone 6S上使用
NSPlayground
,运行iOS 11.4
。NSPlayground
,运行iOS 11.4
。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表示法:
function intToCDIRIP(ip) {
return `${ (ip >> 24 ) & 0xFF }.${ (ip >> 16 ) & 0xFF }.${ (ip >> 8 ) & 0xFF }.${ ip & 0xFF }`;
}
console.log(intToCDIRIP(33353454354)); // Should be 196.5.83.18