是否可以使用xamarin

时间:2018-08-22 19:16:02

标签: android ios xamarin xamarin.forms

我只是想知道应用程序是否有可能识别您连接的网络。我正在制作应用程序,您必须在该位置连接到特定网络,然后该应用程序才能使用它的功能,但是我想知道是否有可能,我正在使用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`。

3 个答案:

答案 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
                }
            };`