2016-11-28 100 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插件。