|
Kupiłem jakiś czas temu telefon komórkowy Nokia Lumia 930 i w ciągu ostatnich kilku dni dowiedziałem się, że istnieje wysoka funkcja zwana NFC, która potrafi odczytywać karty bankowe, karty all-in-one oraz inne informacje. Włożyłem kartę bankową do telefonu, telefon zapiknął, ale nic się nie pojawiło. Baidu nagle odkrył, że tylko portfele Alipay na Androidzie mają tę funkcję, więc przeprowadził badania i napisał mały program. Jak pokazano poniżej
Ten program jest bardzo prosty – karta bankowa wyświetli "karta bankowa nadchodzi", gdy zostanie wklejona na telefon komórkowy, a "karta bankowa zniknęła" po jej wyjściu. Proces wdrożenia jest prosty i następuje:
Stwórz pusty projekt na Windows Phone i dodaj trzech członków klasy oraz dwie funkcje zdarzeń do Strony Głównej. [mw_shl_code=csharp, true] 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]
Następnie pobierz domyślne urządzenie NFC w konstruktorze MainPage, zarejestruj dwa zdarzenia w OnNavigatedTo, które służą do reakcji na przypadek zbliżenia się karty bankowej do telefonu komórkowego i jej odejścia, tak aby po wywołaniu zdarzenia wywołane były procesy DeviceArrived i DeviceDeparted, a proces po prostu wykonał dziennik wyjściowy. koniec
[mw_shl_code=csharp, true] Strona główna::Strona główna()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (pustka) e; Nieużywane parametry jeśli (ten->m_proximityDevice)
{ m_arrivedToken = m_proximityDevice->DeviceArrived += ref new DeviceArrivedEventHandler(this, &MainPage::D eviceArrived, CallbackContext::Alone); m_departedToken = m_proximityDevice->DeviceDeparted += ref new DeviceDepartedEventHandler(this, &MainPage::D eviceDeparted, CallbackContext::Same);
}
}
void MainPage::D eviceArrived(urządzenie ProximityDevice^)
{ ErrorText->Text += "Karta bankowa nadchodzi! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErrorText->Text += "Karta bankowa zniknęła! \r\n"; }[/mw_shl_code]
W ten sposób taki program zostaje ukończony, a kolejnym krokiem jest odczytanie informacji...
Jeśli masz czas, dalej go studiuj i przeczytaj dane karty bankowej.
|