如何通过 C#/UPW 应用程序在 Surface Go 2 上使用 NFC 读卡器读取 MIFARE 卡?

问题描述 投票:0回答:1

我尝试从 Micrsoft Surface Go 2 上的 UWP C# 应用程序读取 NFC MIFARE 卡。但即使使用 Microsoft 的示例应用程序“ProximitySensor”(https://github.com/Microsoft/Windows-universal-samples/tree /master/Samples/ProximitySensor)我没有让它工作。示例应用程序不断告诉我“未找到接近传感器”。

我如何修复它?

要解决这个问题,需要做两件事。

第一个是,拥有合适版本的 Surface Go 2。我得到的第一个版本是“消费者”版本(到目前为止我还不知道,还有另一个版本)。这个根本没有内置 NFC 读取器(或者至少没有驱动程序使其工作)。

您需要的是 Surface Go 2 商务版。只有这个具有内置 NFC 传感器并在设备中注册。

打开此设备上的设备管理器,它向我显示了一个“接近设备”(NXP 的东西......)。 👍

到目前为止,一切都很好。尝试示例应用程序,我仍然得到“未找到接近传感器”。这是解决这个问题的技巧:

Windows API 有两个不同的类用于访问 NFC(他们称之为接近)设备。

第一个是 ProximitySensor Class,它在示例应用程序中使用,但不适用于 Surface Go 2。

另一个是

ProximityDevice Class,它是网络命名空间的一部分。这是在 Surface Go 2 上运行的。这里有一些示例代码如何使用它。可以读取我的 MIFARE 卡的内容了。 👍

c# windows uwp nfc proximity
1个回答
0
投票
要解决这个问题,需要做两件事。

第一个是,拥有合适版本的 Surface Go 2。我得到的第一个版本是“消费者”版本(到目前为止我还不知道,还有另一个版本)。这个根本没有内置 NFC 读取器(或者至少没有驱动程序使其工作)。

您需要的是 Surface Go 2

商务版

。只有这个具有内置 NFC 传感器并在设备中注册。 打开此设备上的设备管理器,它向我显示了一个“接近设备”(NXP 的东西......)。

但是,尝试示例应用程序时,我仍然收到“未找到接近传感器”的消息。事实证明,Windows API 有两个不同的类用于访问 NFC(他们称之为近距离)设备。

第一个是

ProximitySensor

类,它在示例应用程序中使用,但在 Surface Go 2 上

工作。 另一个是

ProximityDevice

,它是

Networking
命名空间的一部分。这个正在 Surface Go 2 上运行。 这里有一些使用它的示例代码

,它可以很好地读取我的 MIFARE 卡的内容。

© www.soinside.com 2019 - 2024. All rights reserved.