2016-07-13 297 views
3

下面是使用NFC讀取HF RFID標籤的通用Win10應用程序代碼示例。當設備讀取RFID標籤時,不會觸發'ReadTag'方法。我嘗試將消息類型從NDEF更改爲Windows,結果相同。如何在Univeral Windows App中使用NFC讀取RFID標籤?任何幫助將不勝感激。在Win10通用Windows應用程序中使用NFC讀取HF RFID標籤

我使用啓用NFC的Android應用程序成功讀取相同的RFID標籤,並指定ISO 15693標籤。

win10代碼是使用VS2015更新3編譯的,啓用了「接近」功能,並且已啓用Microsoft Phone 950 NFC並部署了該功能。

private long _messageSubscribeId; 
Windows.Networking.Proximity.ProximityDevice proximityDevice; 
public MainPage() 
{ 

InitializeComponent(); 

proximityDevice = ProximityDevice.GetDefault(); 

if (proximityDevice != null) 
{ 
    proximityDevice.DeviceArrived += ProximityDeviceArrived; 
    proximityDevice.DeviceDeparted += ProximityDeviceDeparted; 

//subscribe.... 
    _messageSubscribeId = proximityDevice.SubscribeForMessage("NDEF",ReadTag); 
} 
else 
{ 
    MessageTextBlock.Text += "Failed to initialize proximity device.\n"; 
} 
} 

Windows.UI.Core.CoreDispatcher _dispatcher = Window.Current.Dispatcher; 

private async void ProximityDeviceArrived(object sender) 
{ 
await _dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, 
() => 
{ 
     MessageTextBlock.Text += "Proximate device arrived.\n"; 
}); 
} 

private async void ProximityDeviceDeparted(object sender) 
{ 
await _dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, 
() => 
{ 
     MessageTextBlock.Text += "Proximate device departed.\n"; 
}); 
} 

private void ReadTag(ProximityDevice sender, ProximityMessage message) 
{ 
await _dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, 
() => 
{    
     MessageTextBlock.Text += "Proximate device Read Tag\n"; 
}); 
}  

回答

1

你的問題是不是在代碼中,但在Windows SO DLL(Windows.Networking.Proximity.dll)。遺憾的是,沒有多少文檔發佈,即Windows 8和Windows 10,只處理NDEF格式標籤。這是非常不幸的,因爲它只有在您想訪問的標籤之前已經以NDEF格式「發佈」時纔有效。

檢查此鏈接https://dotblogs.com.tw/pou/2013/05/07/103062它有很大的幫助。

相關問題