在 Nativescript 中获取 mac 地址和 ip
Get mac address and ip in Nativescript
我们正在实施用于应用程序分发的服务器,我们需要通过以下方式限制对应用程序的访问:
- mac 地址
- ip
目前我还没有找到任何模块可以在 nativescript 中从设备获取这些数据,所以我不知道是否有插件或者我还能如何实现这一点。
在nativescript中你可以访问设备的原生api
因此,如果没有任何 module/plugin,您可以使用此选项访问本机 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();
我们可以这样写在java脚本中:
首先我们应该确定这是哪里 getSystemService
:
在 android 的文档中搜索后,我们发现:
getSystemService
在 android.content.Context
用于在 nativescript http://docs.nativescript.org/cookbook/application
中访问上下文
我们可以做到:
import app = require("application");
app.android.context;
所以让我们把它写在java脚本中:
我们在 java脚本中没有类型,所以我们使用 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 解决方案 link 你应该添加这个权限 <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 创建插件。
我们正在实施用于应用程序分发的服务器,我们需要通过以下方式限制对应用程序的访问:
- mac 地址
- ip
目前我还没有找到任何模块可以在 nativescript 中从设备获取这些数据,所以我不知道是否有插件或者我还能如何实现这一点。
在nativescript中你可以访问设备的原生api 因此,如果没有任何 module/plugin,您可以使用此选项访问本机 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();
我们可以这样写在java脚本中:
首先我们应该确定这是哪里 getSystemService
:
在 android 的文档中搜索后,我们发现:
getSystemService
在 android.content.Context
用于在 nativescript http://docs.nativescript.org/cookbook/application
我们可以做到:
import app = require("application");
app.android.context;
所以让我们把它写在java脚本中:
我们在 java脚本中没有类型,所以我们使用 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 解决方案 link 你应该添加这个权限 <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 创建插件。