nativescript - 在Nativescript中获取mac地址和ip

标签 nativescript

我们正在实现一个用于应用程序分发的服务器,我们需要通过以下方式限制对应用程序的访问:

  • MAC地址
  • ip

目前我还没有找到任何模块可以在nativescript中从设备获取这些数据,所以我不知道是否有插件或者我怎样才能实现这一点。

最佳答案

在nativescript中你可以访问设备的原生api 因此,如果没有任何模块/插件,您可以使用此选项来访问 native api。 https://docs.nativescript.org/core-concepts/accessing-native-apis-with-javascript

例如,mac地址here有解决方案 在JAVA中:

WifiManager wifiManager = (WifiManager)  getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String mac = wInfo.getMacAddress();

我们可以用 JavaScript 编写它,如下所示:

首先我们应该知道这是哪里 getSystemService :

在搜索android文档后我们发现:

getSystemService位于android.content.Context 用于访问 NativeScript 中的上下文 http://docs.nativescript.org/cookbook/application

我们可以做到:

import app = require("application");
app.android.context;

所以让我们用 JavaScript 编写它:

我们在 javascript 中没有类型,因此我们使用 var 来代替;

  var context = android.content.Context;
  var wifiManager = app.android.context.getSystemService(context.WIFI_SERVICE);
  var wInfo = wifiManager.getConnectionInfo();
  var mac = wInfo.getMacAddress();

注意1:如上面的java解决方案链接中所述,您应该添加此权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>app/App_Resources/AndroidManifest

注意2:上述解决方案适用于android,对于ios,您应该使用objective_c找到解决方案,并在nativescript文档的帮助下转换为javascript。

注意3:在 android 6 中您可能需要请求权限

您还可以使用此方法为nativescript创建插件。

关于nativescript - 在Nativescript中获取mac地址和ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40852900/

相关文章:

javascript - 如果绑定(bind)到特定列表项的数组为空,则在 ListView 中显示该特定列表项

android - 如何在 Nativescript 中正确获取 Android Application Context

nativescript - 删除了 hooks 文件夹

plugins - Nativescript图表插件

nativescript - 'tns' 不是内部或外部命令,也不是可运行的程序或批处理文件。原生脚本

webpack - 如何在 Nativescript webpack 的 app 目录中包含 xml 文件

javascript - 我如何将原始数据从 javascript 发送到 Nativescript 中的 ESC/POS 网络打印机(无蓝牙)

ios - NativeScript TextField [(ngModel)] 不起作用

json - 删除消息并从外部 json 文件加载它

Nativescript RadSideDrawer 卡住