angular - Ionic 3 - 如何将 cordova 插件网络接口(interface)与 ionic 一起使用?

标签 angular typescript ionic2 cordova-plugins ionic3

我的问题: 我需要我的应用程序来搜索本地 WiFi 网络,以找到在特定端口上具有应用程序的服务器计算机。我不想将服务器 IP 地址硬编码到应用程序中,因为它可能会在许多地方使用。

更新:所以我需要能够找到网络上所有设备的 IP 地址。

到目前为止我做了什么:

Iv 按照以下步骤遵循有关堆栈溢出和在线的其他指南:

<强>1。安装 cordova 插件:

 "cordova plugin add cordova-plugin-networkinterface"

<强>2。在全局范围内声明变量以访问对象

declare var NetworkInterface: any;
export class TestClass{}

<强>3。使用组件内部的全局变量调用对象

NetworkInterface.getWiFiIPAddress((ip) => {
   console.log("network ip address = " + ip);
});

然而,当从移动设备运行时,这会导致运行时错误:

ERROR Error: Uncaught (in promise): ReferenceError: NetworkInterface is not defined

我也试过全局声明一个变量,然后尝试在组件中应用一个字符串值,结果还是遇到了同样的问题。变量在全局范围内不起作用似乎是一个更大的问题?任何帮助都会很棒!

最佳答案

您需要使用以下CLI:

ionic plugin add cordova-plugin-networkinterface --save 

您需要将其声明为全局的。您还需要在设备模拟器 上对其进行测试,因为这是一个插件

 declare var NetworkInterface: any;

旧答案:

您可以使用原生 Network 轻松做到这一点插件。

ionic cordova plugin add cordova-plugin-network-information
npm install --save @ionic-native/network

来自文档:

import { Network } from '@ionic-native/network';

constructor(private network: Network) { }

...

// watch network for a connection
let connectSubscription = this.network.onConnect().subscribe(() => {
  console.log('network connected!');
  // We just got a connection but we need to wait briefly
   // before we determine the connection type. Might need to wait.
  // prior to doing any api requests as well.
  setTimeout(() => {
    if (this.network.type === 'wifi') {
      console.log('we got a wifi connection, woohoo!');
    }
  }, 3000);
});

关于angular - Ionic 3 - 如何将 cordova 插件网络接口(interface)与 ionic 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47645150/

相关文章:

sorting - firebase 和 Ionic 2 上的降序 orderByChild()

unit-testing - Angular2 + karma test + redux - 进程未定义

android - 将工作 Web 应用程序塑造为 Android 原生 Ionic 应用程序时出现 CORS 问题

angular - 使用 Angular2/AngularFire2 创建或增加一个值

angular - window.scroll 不适用于 Angular 11 和 Material

reactjs - React TypeScript - 导出多个组件

javascript - typescript :声明空类对象

javascript - 如何将提交数据推送到现有的本地 json 文件中?

knockout.js - 传递给 KO 点击绑定(bind)的 Typescript 成员方法以 "wrong"范围结束

ionic-framework - Ionic 2 将按钮标签向左对齐