|
Pred časom som si kúpil mobilný telefón Nokia Lumia 930 a za posledné dni som sa dozvedel, že existuje vysoká funkcia nazývaná NFC, ktorá dokáže čítať bankové karty, all-in-one karty a ďalšie informácie. Vložil som si bankovú kartu do telefónu a telefón zapípal, ale nič sa nezobrazilo. Baidu zrazu zistil, že túto funkciu majú len peňaženky Alipay na Androide, tak si to naštudoval a napísal malý program. Ako je uvedené nižšie
Tento program je veľmi jednoduchý – banková karta zobrazí "banková karta prichádza" pri vložení na mobil a "banková karta je preč", keď odíde. Proces implementácie je jednoduchý a nasleduje:
Vytvorte prázdny projekt pre Windows Phone a pridajte troch členov triedy a dve funkcie udalostí na MainPage. [mw_shl_code=csharp, pravda] 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]
Potom získajte predvolené NFC zariadenie v konštruktore MainPage, zaregistrujte dve udalosti v OnNavigatedTo, ktoré slúžia na reakciu na prípad, že sa banková karta priblíži k mobilnému telefónu a odíde, takže keď sa udalosť spustí, budú vyvolané procesy DeviceArrived a DeviceDeparted a proces jednoducho vykoná výstupný log. koniec
[mw_shl_code=csharp, pravda] MainPage::MainPage()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (void) e; Nepoužité parametre ak (toto->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)
{ ErrorText->Text += "Banková karta prichádza! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErrorText->Text += "Banková karta je preč! \r\n"; }[/mw_shl_code]
Týmto spôsobom je takýto program dokončený a ďalším krokom je prečítať informácie...
Ak máte čas, pokračujte v štúdiu a prečítajte si údaje o bankovej karte.
|