|
Ho comprato un Nokia Lumia 930 tempo fa e negli ultimi giorni ho scoperto che esiste una funzione alta chiamata NFC, che può leggere carte bancarie, carte tutto-in-uno e altre informazioni. Ho messo la mia carta bancaria sul telefono, e il telefono ha emesso un bip, ma non è apparso nulla. Baidu ha improvvisamente scoperto che solo i portafogli Alipay su Android hanno questa funzione, così ha fatto ricerche e scritto un piccolo programma. Come mostrato di seguito
Questo programma è molto semplice: la carta bancaria mostra "la carta bancaria sta arrivando" quando viene incollata sul cellulare, e la "la carta bancaria è sparita" quando se ne va. Il processo di implementazione è semplice e segue come segue:
Crea un progetto Windows phone vuoto e aggiungi tre membri di classe e due funzioni evento alla MainPage. [mw_shl_code=cliccio,vero] 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]
Poi si ottiene il dispositivo NFC predefinito nel costruttore di MainPage, registra due eventi in OnNavigatedTo, che vengono usati per rispondere all'evento della carta bancaria che si avvicina al telefono cellulare e se ne va, così che quando l'evento viene attivato, vengano chiamati i processi DeviceArrived e DeviceDeparted, e il processo eseguirà semplicemente un log di output. Fine
[mw_shl_code=cliccio,vero] MainPage::MainPage()
{ InitializeComponent(); m_proximityDevice = ProssimitàDispositivo::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (vuoto) e; Parametri non utilizzati se (questo->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^ dispositivo)
{ ErrorText->Text += "La carta bancaria sta arrivando! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErrorText->Text += "La carta bancaria è sparita! \r\n"; }[/mw_shl_code]
In questo modo, un tale programma viene completato e il passo successivo è leggere le informazioni...
Se hai tempo, continua a studiarlo di nuovo e leggi i dati della carta bancaria.
|