1
ユーザー名とパスワードまたはカードリーダー経由でログインを実行するUWPアプリケーションがあります。 これは私のコードです。UWPアプリでCardAdded機能が起動しない
public sealed partial class MainPage : Page
{
private SynchronizationContext uiContext = null;
public MainPage()
{
this.InitializeComponent();
getMenu();
uiContext = SynchronizationContext.Current;
smartCard();
}
private async void smartCard()
{
string selector = SmartCardReader.GetDeviceSelector();
DeviceInformationCollection devices =
await DeviceInformation.FindAllAsync(selector);
foreach (DeviceInformation device in devices)
{
SmartCardReader reader = await SmartCardReader.FromIdAsync(device.Id);
reader.CardAdded += Reader_CardAdded;
}
}
private void Reader_CardAdded(object sender, CardAddedEventArgs args)
{
try
{
SmartCardReader send = (SmartCardReader)sender;
// some stuff
Debug.WriteLine(send.DeviceId);
// A card has been inserted into the sender SmartCardReader.
}
catch (Exception e)
{
Debug.WriteLine("CardAdded Exception: " + e.Message);
}
}
毎回私のカードリーダーがカードを読み込んで、それだけで関連するcardAdded機能を実行せずに、集中テキストボックスにカードコードを印刷します。カードがカードリーダーに渡されると、すぐに機能が起動される必要があります。 私はそれに間違って何をしているのですか?
私は機能の外で 'SmartCardReader reader'を移動しました。 'SynchronizationContext uiContext = null;'の直下ですが、何も変更されていません – Janinho67
これは間違っています。 GCはそれを起こさせません。 - とにかく、このコードは1つのデバイスで正常に動作し、別のデバイスではイベントは発生しません。 - UWPカードリーダーのサポートのバグか、それとも別の方法があるようですか? – BrainSlugs83