|
얼마 전에 노키아 루미아 930 휴대폰을 샀는데, 며칠 전부터 NFC라는 높은 기능이 있다는 걸 알게 됐어요. 이 기능은 은행 카드, 올인원 카드 등 다양한 정보를 읽을 수 있어요. 은행 카드를 휴대폰에 입력했더니 삐 소리가 났지만 아무 표시도 안 나왔어요. 바이두는 갑자기 안드로이드의 알리페이 지갑만 이 기능을 갖추게 되어 조사하고 작은 프로그램을 만들었습니다. 아래에 나와 같이
이 프로그램은 매우 간단합니다. 휴대폰에 붙여넣으면 은행 카드가 "은행 카드가 도착합니다"라는 메시지가 뜨고, 카드가 나가면 "은행 카드가 사라졌습니다"라는 메시지가 표시됩니다. 구현 과정은 간단하며 다음과 같습니다:
빈 윈도우 폰 프로젝트를 만들고 클래스 멤버 3명과 이벤트 함수 2개를 메인페이지에 추가하세요. [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]
그 다음 MainPage의 구성 자에서 기본 NFC 장치를 가져오고, OnNavigatedTo에 두 개의 이벤트를 등록하세요. 이 이벤트는 은행 카드가 휴대폰에 접근해 떠나는 이벤트에 반응하는 데 사용됩니다. 이벤트가 트리거되면 DeviceArrived와 DeviceDeparted 프로세스가 호출되고, 프로세스는 단순히 출력 로그를 실행합니다. 오버
[mw_shl_code=csharp, 진실] 메인 페이지::메인 페이지()
{ InitializeComponent(); m_proximityDevice = ProximityDevice::GetDefault();
}
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{ (공허) 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]
이렇게 하면 이러한 프로그램이 완성되고, 다음 단계는 정보를 읽는 것입니다...
시간이 된다면 다시 공부하고 은행 카드 정보를 읽어보세요.
|