我只是想知道应用程序是否有可能识别您连接的网络。我正在制作应用程序,您必须在该位置连接到特定网络,然后该应用程序才能使用它的功能,但是我想知道是否有可能,我正在使用xamarin
,但是我可以使用android进行编程and a little bit of
迅速, so I also want to know if it's possible for
xamarin to do this, if it's possible with android studio and
xcode . I am using
xamarin.forms`。
答案 0 :(得分:0)
出于安全原因,此功能以前被禁用,但是在iOS 4.0之后,Apple启用了它。
Although this question is for Xcode, the answer can be applied in Xamarin.
This is a sample application built with the feature in question, although it is for Xamarin.Mac
使用功能CNCopyCurrentNetworkInfo
。
答案 1 :(得分:0)
这是可能的,但是您必须执行本机实现才能访问特定的平台api。对于Android,您将需要使用WifiManager(https://developer.android.com/reference/android/net/wifi/WifiManager);对于iOS,您可能需要使用NEHotspotConfiguration(https://developer.apple.com/documentation/networkextension/nehotspotconfiguration)。
我已使用Android的WifiManager以编程方式连接到特定的Wifi网络。
答案 2 :(得分:0)
您可以通过添加软件包“ xam.plugin.connectivity”在Xamarin中使用“ CrossConnectivity”插件。下面是检查连接性的代码。从connectionType属性中,您可以检测到设备连接到哪个网络并相应地执行操作。
CrossConnectivity.Current.ConnectivityTypeChanged += (sender, e) =>
{
var wifi = Plugin.Connectivity.Abstractions.ConnectionType.WiFi;
var cellular = Plugin.Connectivity.Abstractions.ConnectionType.Cellular;
var connectionTypes = CrossConnectivity.Current.ConnectionTypes;
if (connectionTypes.Contains(cellular))
{
//Do operations with cellular
}
else if (connectionTypes.Contains(wifi))
{
//Do operations with wifi
}
};`