我想使用 NativeScript/JavaScript 获取设备的本地 IP 地址。
我进行了搜索并找到了一种在 Android 上执行此操作的方法,但我希望有一个也适用于 iOS 的跨平台解决方案。
我目前正在使用 NSPlayground
在运行 iOS 11.4
的 iPhone 6S 上。
如果您没有找到可以轻松完成此操作的插件,您将不得不 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 :
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
关于ios - NativeScript - 获取设备本地 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171755/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |