|
Αγόρασα ένα κινητό τηλέφωνο Nokia lumia 930 πριν από λίγο καιρό και τις τελευταίες μέρες έμαθα ότι υπάρχει μια ψηλή λειτουργία που ονομάζεται NFC, η οποία μπορεί να διαβάζει τραπεζικές κάρτες, κάρτες all-in-one και άλλες πληροφορίες. Έβαλα την τραπεζική μου κάρτα στο τηλέφωνό μου και το τηλέφωνο χτύπησε, αλλά δεν εμφανίστηκε τίποτα. Η Baidu διαπίστωσε ξαφνικά ότι μόνο τα πορτοφόλια Alipay στο Android έχουν αυτή τη λειτουργία, οπότε ερεύνησε και έγραψε ένα μικρό πρόγραμμα. Οπως φαίνεται παρακάτω
Αυτό το πρόγραμμα είναι πολύ απλό, η τραπεζική κάρτα θα εμφανίσει "η τραπεζική κάρτα έρχεται" όταν επικολληθεί στο κινητό τηλέφωνο και η "τραπεζική κάρτα έχει φύγει" όταν φύγει. Η διαδικασία υλοποίησης είναι απλή και ακολουθεί:
Δημιουργήστε ένα κενό έργο Windows Phone και προσθέστε τρία μέλη τάξης και δύο συναρτήσεις συμβάντων στην Κύρια σελίδα. [mw_shl_code=csharp,αληθές] 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]
Στη συνέχεια, λάβετε την προεπιλεγμένη συσκευή NFC στον κατασκευαστή του MainPage, καταχωρήστε δύο συμβάντα στο OnNavigatedTo, τα οποία χρησιμοποιούνται για την απόκριση στο συμβάν της τραπεζικής κάρτας που πλησιάζει το κινητό τηλέφωνο και φεύγει, έτσι ώστε όταν ενεργοποιηθεί το συμβάν, θα κληθούν οι διαδικασίες DeviceArrived και DeviceDeparted και η διαδικασία θα εκτελέσει απλώς ένα αρχείο καταγραφής εξόδου. πάνω από
[mw_shl_code=csharp,αληθές] MainPage::MainPage()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (άκυρο) ε· Αχρησιμοποίητες παράμετροι αν (αυτό το >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 += "Έρχεται η τραπεζική κάρτα! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErrorText->Text += "Η τραπεζική κάρτα έφυγε! \r\n"; }[/mw_shl_code]
Με αυτόν τον τρόπο, ένα τέτοιο πρόγραμμα ολοκληρώνεται και το επόμενο βήμα είναι να διαβάσετε τις πληροφορίες. . .
Εάν έχετε χρόνο, συνεχίστε να το μελετάτε ξανά και να διαβάζετε τα δεδομένα της τραπεζικής κάρτας.
|