gpt4 book ai didi

android - 在 Ionic 中获取连接的 WiFi 网络详细信息

转载 作者:行者123 更新时间:2023-11-29 01:23:29 26 4
gpt4 key购买 nike

我正在从事一个基于物联网的 ionic 项目。我需要在我的应用程序中获取已连接 WiFi 的详细信息(WiFi 名称和密码)。我有 used这个插件。

cordova plugin add cordova-plugin-network-information

但是这个插件没有提供很多信息,比如连接的WiFi的名称和密码。有没有什么插件或方法可以获取连接的wifi的详细信息?谢谢

最佳答案

我不知道这是否对您有帮助,但我使用 cordova 插件:wifiwizard 和 cordova-plugin-networkinterface 来获取网络信息。在 iOS 上,只能获取 SSID、BSSID、IP、已连接 WiFi 的子网和移动 IP,因为 Apple 的 Wifi 库 (Apple80211) 是私有(private)的。

我还使用 cordova 插件:cordova-plugin-x-toast 和 cordova-plugin-dialogs 用于错误消息。

以下方法 readNetwork() 将所有网络信息存储到 $scope.wifi 中:

// read network
function readNetwork() {
$scope.wifi = {};

// get current SSID
WifiWizard.getCurrentSSID(
function(ssid) {
$scope.wifi.ssid = ssid.replace('"','').replace('"','');

// update scope values in template
$scope.$apply();
},
wifiError
);

// get current BSSID - ios only
if(ionic.Platform.isIOS()) {
WifiWizard.getCurrentBSSID(
function(bssid) {
$scope.wifi.bssid = bssid;

// update scope values in template
$scope.$apply();
},
wifiError
);
}

// get list of the available networks as an array of objects - android only
if(ionic.Platform.isAndroid()) {
WifiWizard.getScanResults(
function(networks) {
$scope.wifi.networks = networks;
//console.log("networks: " + JSON.stringify(networks));

// find current bssid, if not available
networks.forEach(function(network) {
if(network.SSID == $scope.wifi.ssid) {
$scope.wifi.bssid = network.BSSID;
$scope.wifi.level = network.level;
$scope.wifi.frequency = network.frequency;
$scope.wifi.config = network.capabilities;
}
});

// update scope values in template
$scope.$apply();
},
wifiError
);
}

// get device's ip adress
networkinterface.getWiFiIPAddress(
function(ip, subnet) {
$scope.wifi.ip = ip;
$scope.wifi.subnet= subnet;

// update scope values in template
$scope.$apply();
},
function(error) {
$cordovaToast.show("WiFi IP Adresse konnte nicht ermittelt werden: " + error, "long", "center");
$cordovaDialogs.beep(1);
}
);

// get device's carrier ip adress
networkinterface.getCarrierIPAddress(function (ip) {
$scope.wifi.vendorIp = ip;

// update scope values in template
$scope.$apply();
});
}

// read network (wifi) - error
function wifiError(error) {
$cordovaToast.show("WiFi Fehler: " + error, "long", "center");
$cordovaDialogs.beep(1);
}

关于android - 在 Ionic 中获取连接的 WiFi 网络详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35415840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com