【发布时间】:2017-07-19 02:38:16
【问题描述】:
在我的客户端服务器解决方案中,我需要前端设备的 MAC 地址,运行我的 Xamarin.Forms 应用程序。目前我只有一个条目,用户应该在其中输入运行应用程序的设备的 mac 地址(主界面)。
我已经搜索过该主题,发现iOS和Android对返回MAC有限制。我也知道来自 James Montemagno 的 Device plugin,但它并没有提供我需要的东西。还有机会得到吗?我可以至少创建一个用户可以手动复制 MAC 的确切设置页面的快捷方式吗?
可能有人会问:为什么需要mac地址?
我的解决方案是一个供员工分享其可用性和位置的平台。员工可以输入设备信息,以便后端可以找到他们的设备。然后后端可以为您提供如下信息:John Doe 目前在办公室(因为在网络中找到了他的设备)并且在河边的二楼(因为他的设备与该确切位置的 wifi 控制器连接)。其他想要与 John 交谈的员工则可以肯定地知道他们可以直接去找 John,而不是写邮件或打电话给他。该解决方案通过可以自动提取但仍然符合隐私的准确数据促进直接沟通和工作与生活的平衡,因为员工必须积极分享他们的信息才能获得自动化状态。最重要的是,收集的数据与您在办公室询问或走动所获得的数据相同。
【问题讨论】:
-
SO 问题仅针对 Android。在 UWP、iOS、Android Xamarin.Forms 解决方案中,只有 Android 是不值得的。 Xam 论坛线程建议该 API 现在在 iOS 中已弃用。这就是我在介绍中所指出的。仍然可以选择使用 Xamarin.iOS 获取确切设置页面的快捷方式。如果我可以读取代码中的 MAC 或转发到确切的页面,我可以为此连接一个依赖服务并将其放在按钮后面,从而导致读取或转发。 @Tatranskymedved
-
想法:倒推:如果你能得到设备连接的网络的BSSID,设备就可以知道它在办公室。那么您所需要的只是设备的其他标识符...
-
当然,我可以做一个在设备上定期运行的后台任务。不过,我不太喜欢那样。如果我有 mac 地址,我也无法从 Wifi 控制器中获取可以通过 SNMP 获取的信息。我还想过只使用当前 IP,让后端从该 IP 中找出 mac,但这比我想象的要难。那我还需要查询IP。我正在实施一个依赖服务,以便在此时打开每个平台上的 wifi 设置。
标签: c# .net networking xamarin xamarin.forms