|
Ich habe vor einiger Zeit ein Nokia Lumia 930 Handy gekauft und in den letzten Tagen erfahren, dass es eine hohe Funktion namens NFC gibt, die Bankkarten, All-in-One-Karten und andere Informationen lesen kann. Ich habe meine Bankkarte auf mein Handy gelegt, und das Handy piepte, aber es wurde nichts angezeigt. Baidu stellte plötzlich fest, dass nur Alipay-Wallets auf Android diese Funktion haben, also recherchierte und schrieb es ein kleines Programm. Wie unten gezeigt
Dieses Programm ist sehr einfach: Die Bankkarte gibt "Die Bankkarte kommt" aus, wenn sie auf das Handy eingefügt wird, und die "Bankkarte ist weg", wenn sie geht. Der Implementierungsprozess ist einfach und folgt:
Erstelle ein leeres Windows-Phone-Projekt und füge der Hauptseite drei Klassenmitglieder und zwei Ereignisfunktionen hinzu. [mw_shl_code=csharp, wahr] Windows::Foundation::EventRegistrationToken m_arrivedToken;
Windows::Foundation::EventRegistrationToken m_departedToken;
Windows::Networking::Proximity::ProximityDevice^ m_proximityDevice;
void DeviceArrived (Windows::Networking::P roximity::P roximityDevice^ device); void DeviceDeparted(Windows::Networking::P roximity::P roximityDevice^ device); [/mw_shl_code]
Dann wird das Standard-NFC-Gerät im Konstruktor von MainPage geholt, zwei Ereignisse in OnNavigatedTo registriert, die verwendet werden, um auf das Ereignis zu reagieren, dass die Bankkarte sich dem Handy nähert und das Handy verlässt, sodass, wenn das Ereignis ausgelöst wird, die DeviceArrived- und DeviceDeparted-Prozesse aufgerufen werden und der Prozess einfach ein Ausgabeprotokoll ausführt. Über
[mw_shl_code=csharp, wahr] Hauptseite::Hauptseite()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void Hauptseite::OnNavigatedTo(NavigationEventArgs^ e)
{ (void) e; Ungenutzte Parameter wenn (dies->m_proximityDevice)
{ m_arrivedToken = m_proximityDevice->DeviceArrived += ref new DeviceArrivedEventHandler(this, &MainPage::D eviceArrived, CallbackContext::Same); m_departedToken = m_proximityDevice->DeviceDeparted += ref new DeviceDepartedEventHandler(this, &MainPage::D eviceDeparted, CallbackContext::Same);
}
}
void MainPage::D eviceArrived(ProximityDevice^ device)
{ FehlerText->Text += "Die Bankkarte kommt! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ FehlerText->Text += "Die Bankkarte ist weg! \r\n"; }[/mw_shl_code]
Auf diese Weise ist ein solches Programm abgeschlossen, und der nächste Schritt ist, die Informationen zu lesen. . .
Wenn Sie Zeit haben, lesen Sie es erneut und lesen Sie die Bankkartendaten durch.
|