|
Hace un tiempo compré un Nokia Lumia 930 y en los últimos días descubrí que existe una función alta llamada NFC, que puede leer tarjetas bancarias, tarjetas todo en uno y otra información. Puse mi tarjeta bancaria en el móvil y el teléfono pitó, pero no se mostró nada. Baidu descubrió de repente que solo las carteras Alipay en Android tienen esta función, así que investigó y escribió un pequeño programa. Como se muestra a continuación
Este programa es muy sencillo: la tarjeta bancaria emitirá "la tarjeta bancaria está llegando" cuando se pega en el móvil, y la tarjeta bancaria desaparece cuando se va. El proceso de implementación es sencillo y es el siguiente:
Crea un proyecto vacío de Windows Phone y añade tres miembros de clase y dos funciones de evento a la Página Principal. [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]
Luego, obtienes el dispositivo NFC predeterminado en el constructor de MainPage, registras dos eventos en OnNavigatedTo, que se usan para responder al evento de la tarjeta bancaria que se acerca al teléfono móvil y se va, de modo que cuando se active el evento, se llamen los procesos DeviceArrived y DeviceDeparted, y el proceso simplemente ejecute un registro de salida. Cambio
[mw_shl_code=csharp,true] Página principal::PáginaPrincipal()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (vacío) e; Parámetros no utilizados si (esto->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 += "¡La tarjeta bancaria está llegando! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErrorText->Text += "¡La tarjeta bancaria ha desaparecido! \r\n"; }[/mw_shl_code]
De este modo, se completa dicho programa y el siguiente paso es leer la información...
Si tienes tiempo, sigue estudiándolo de nuevo y lee los datos de la tarjeta bancaria.
|