目錄
返回目錄
1. 配置
實現在兩個WP8模擬器中進行類比NFC傳輸,如:
眾所周知,WP8模擬器是不支援類比NFC,藍芽和Wifi Direct傳輸的(WP8系統就根本不支援Wifi Direct)。而MSDN文檔中則提到了一個可以類比NFC傳輸的小工具:Proximity Tapper 。
為了使用這個工具,首先在Visual Studio中運行多個模擬器,Visual Studio是不支援同一個模擬器的多個執行個體的,因此需要把程式部署運行在不同名稱的模擬器中:
接著運行Proximity Tapper,注意防火牆不能阻攔Proximity Tapper。然後如果一切都沒有問題的話,Proximity Tapper中的裝置列表會出現啟動並執行模擬器執行個體,同時背景顏色是綠色的:
接著選中需要NFC串連的兩個模擬器執行個體,選擇“Tap Selected Devices and Remain Connected”按鈕,然後兩個模擬器執行個體會串連成功,下側會顯示建立的串連,同時也可以通過Proximity Tapper來中斷連線或者手動發送資料。右側是串連內的資料轉送狀況,如:
當兩個模擬器都運行這當前程式後,建立串連後,兩個程式都會提示“串連成功”,然後就可以進行NFC傳輸的,當然程式程式僅僅是一個樣本,傳輸的是簡單的文字。
返回目錄
2. 代碼
Windows 8和Windows Phone 8在裝置臨近感應傳輸上用的是一樣的WinRT API。類型都統一在Windows.Networking.Proximity命名空間上。在NFC傳輸上,有兩種方式。
一種是通過PeerFinder類型,另一種是通過ProximityDevice類型:
ProximityDevice實現起來更簡單些,而PeerFinder和Socket類似。
本文樣本使用ProximityDevice實現,而PeerFinder類型的NFC交流實現可以參考諾基亞官方的Nfc Chat工程。(當然,相比諾基亞的Nfc Chat,本文的樣本程式簡直是弱爆了。)
原始碼下載
下載頁面
注意:連結是微軟SkyDrive頁面,下載時請用瀏覽器直接下載,用某些下載工具可能無法下載
原始碼環境:Microsoft Visual Studio Express 2012 for Windows Phone