|
Jeg købte en Nokia Lumia 930 mobiltelefon for et stykke tid siden, og for nogle dage siden har jeg lært, at der findes en høj funktion kaldet NFC, som kan læse bankkort, alt-i-en-kort og andre oplysninger. Jeg satte mit bankkort på min telefon, og telefonen bippede, men der blev ikke vist noget. Baidu opdagede pludselig, at kun Alipay-wallets på Android har denne funktion, så den undersøgte og skrev et lille program. Som vist nedenfor
Dette program er meget simpelt, bankkortet vil angive "bankkortet kommer", når det er indsat på mobiltelefonen, og "bankkortet er væk", når det forlader det. Implementeringsprocessen er enkel og følger:
Opret et tomt Windows Phone-projekt og tilføj tre klassemedlemmer og to eventfunktioner til hovedsiden. [mw_shl_code=csharp, sandt] 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]
Derefter henter man standard NFC-enheden i MainPages konstruktør, registrerer to hændelser i OnNavigatedTo, som bruges til at reagere på hændelsen med bankkortet, der nærmer sig mobiltelefonen og forlader den, så når hændelsen udløses, vil processerne DeviceArrived og DeviceDeparted blive kaldt, og processen blot vil udføre en outputlog. Over
[mw_shl_code=csharp, sandt] Hovedside::Hovedside()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void Hovedside::OnNavigatedTo(NavigationEventArgs^ e)
{ (ugyldig) e; Ubrugte parametre hvis (denne->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^ enhed)
{ FejlText->Text += "Bankkortet er på vej! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ FejlText->Text += "Bankkortet er væk! \r\n"; }[/mw_shl_code]
På denne måde er et sådant program færdigt, og næste skridt er at læse informationen. . .
Hvis du har tid, så fortsæt med at læse det igen og læs kreditkortoplysningerne op.
|