|
Comprei um Nokia Lumia 930 há um tempo e, nos últimos dias, descobri que existe uma função alta chamada NFC, que pode ler cartões bancários, cartões tudo-em-um e outras informações. Coloquei meu cartão bancário no celular, e o celular apitou, mas nada apareceu. A Baidu de repente descobriu que apenas as carteiras Alipay no Android possuem essa função, então pesquisou e escreveu um pequeno programa. Como mostrado abaixo
Esse programa é muito simples: o cartão bancário mostra "o cartão está chegando" quando é colado no celular, e o "cartão bancário sumiu" quando ele sai. O processo de implementação é simples e segue:
Crie um projeto vazio no Windows Phone e adicione três membros de classe e duas funções de evento à Página Principal. [mw_shl_code=csharp,verdade] 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]
Depois, obtenha o dispositivo NFC padrão no construtor do MainPage, registre dois eventos no OnNavigatedTo, que são usados para responder ao evento do cartão bancário se aproximando do celular e saindo, de modo que, quando o evento for acionado, os processos DeviceArrived e DeviceDeparted sejam chamados, e o processo simplesmente execute um log de saída. Câmbio
[mw_shl_code=csharp,verdade] Página Principal::PáginaPrincipal()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (vazio) e; Parâmetros não utilizados se (este->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)
{ ErroTexto->Texto += "O cartão bancário está chegando! \r\n";
}
void MainPage::D eviceDeparted(ProximityDevice^ device)
{ ErroTexto->Texto += "O cartão bancário sumiu! \r\n"; }[/mw_shl_code]
Dessa forma, tal programa é concluído, e o próximo passo é ler as informações...
Se tiver tempo, continue estudando novamente e leia os dados do cartão bancário.
|