【问题标题】:is it possible to recognize wifi network inside app with xamarin是否可以使用 xamarin 识别应用程序内的 wifi 网络
【发布时间】:2018-08-22 19:16:01
【问题描述】:

我只是想知道应用程序是否可以识别您连接到的网络。我正在制作应用程序,您必须在应用程序允许您使用它的功能之前将其连接到特定网络,但我想知道这是否可能,我正在使用xamarin,但我可以使用 android@987654322 进行编程@swift, so I also want to know if it's possible forxamarinto do this, if it's possible with android studio andxcode. I am usingxamarin.forms` 顺便说一句。

【问题讨论】:

  • 请注意“连接到特定网络”非常弱,因为它很容易被伪造。如果只是为了方便尝试做某事(例如在其设置网络上设置小工具),那很好,但为了实际安全,您应该与网络上的主机交换加密安全消息,而不是依赖网络名称或网关苹果。幸运的是,您可以通过普通的 SSL 类型的网络操作来做到这一点,但如果您的身份验证服务器的 IP 不固定,您可能首先需要通过 mDNS 或类似方式进行一些主机发现。

标签: android ios xamarin xamarin.forms


【解决方案1】:

出于安全原因,这曾经被禁用,但在 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

【讨论】:

    【解决方案2】:

    这是可能的,但您必须执行本机实现才能访问特定平台的 API。对于 Android,您需要使用 WifiManager (https://developer.android.com/reference/android/net/wifi/WifiManager),对于 iOS,您可以使用 NEHotspotConfiguration (https://developer.apple.com/documentation/networkextension/nehotspotconfiguration)。

    我已经使用 WifiManager for Android 以编程方式连接到特定的 Wifi 网络。

    【讨论】:

      【解决方案3】:

      您可以通过添加包“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
                      }
                  };`
      

      【讨论】:

        猜你喜欢
        • 2019-07-11
        • 2023-01-14
        • 1970-01-01
        • 1970-01-01
        • 2012-08-18
        • 2018-02-15
        • 2017-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多