2016-11-28 40 views
0

我们正在实施的应用程序分发服务器获取MAC地址和IP,我们需要限制接入到应用程序:在Nativescript

  • MAC地址
  • IP

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

+0

请查看:http://stackoverflow.com/help/how-to-ask – McNets

回答

1

在nativescript中,您可以访问设备 的本地apis,因此如果没有任何模块/插件,您可以使用此选项访问本机apis。 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的文档后,我们发现:

getSystemServiceandroid.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解决方案的链接中提到你应该这样permision <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>添加到app/App_Resources/AndroidManifest

注2:上述解决方案是为Android,iOS版,你应该找到objective_c的解决方案,并转换为JavaScript在nativescript文档的帮助下。

注3:在Android中6,你可能需要请求permision

您也可以使用此方法来创建nativescript插件。