【问题标题】:Unable to return IP address using react-native-device-info's getIPAddress()无法使用 react-native-device-info 的 getIPAddress() 返回 IP 地址
【发布时间】:2019-08-19 10:23:44
【问题描述】:

我需要返回运行我的 React Native 应用(Android 智能电视应用)的设备的 IP 地址。我正在使用 react-native-device-info 这使我能够获得模型、制造商和操作系统。但是我无法获取IP地址。

这是我的代码

deviceInfo = DeviceInfo.getIPAddress().then(ip => {
  return ip;
});

但是在前端它显示为 [object Object]。我可以在控制台中看到它正在返回一个像这样的对象:

wifi:
  _40: 0
  _55: null
  _65: 0
  _72: null

我希望只返回一个正确 IP 地址的字符串。

我还在我的 AndroidManifest.xml 中添加了正确的权限。

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

另外值得注意的是,我通过value: ${JSON.stringify(deviceInfo)} 将信息传回

以前有人遇到过这个问题吗?

【问题讨论】:

  • 使用 react-native-network-info:github.com/pusherman/react-native-network-info
  • 您可以尝试使用短暂的睡眠来完成获取 IP 的任务,然后再引用它的返回。这种方式取决于它调用定时器线程的次数来保证它的返回。并且捕获异常也可能会有所帮助。

标签: android react-native react-native-device-info


【解决方案1】:

我使用过以下库: https://www.npmjs.com/package/react-native-network-info

它工作正常,下面是代码:

// Get IPv4 IP (priority: WiFi first, cellular second)
NetworkInfo.getIPV4Address().then(ipv4Address => {
  console.log(ipv4Address); //result e.g 192.168.1.100
});

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多