Ao criar conexões por meio do NFC, como escolher qual forma de envio usar, Bluetooth ou Wi-Fi?

A forma de envio é escolhida automaticamente pela API da Proximity, que possui três propriedades para definir quais os meios de comunicação válidos no pareamento via NFC.

O trecho de código abaixo mostra como configurar o PeerFinder para utilizar o Wi-Fi de infraestrutura ao invés do Bluetooth:

bool _started = false;

// Método para disponibilizar listener para conexões iniciadas por um Tap

private void SetupNFCListener()

{

if (_started)

{

WriteMessageText("Voce ja esta em uma conexao.\n");

return;

}

if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes &

Windows.Networking.Proximity.PeerDiscoveryTypes.Browse) !=

Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)

{

WriteMessageText("Sem suporte para descoberta de dispositivos via Wi-Fi Direct.\n");

}

Windows.Networking.Proximity.AllowBluetooth = false;

Windows.Networking.Proximity.AllowInfrastructure = true;

Windows.Networking.Proximity.PeerFinder.Start();

_started = true;

}

É necessário atentar que, segundo experimentos realizados com dispositivos Windows Phone 8.0, a propriedade AllowWifiDirect não inicia uma conexão Wi-Fi Direct por mais que lhe seja atribuída o valor true. Ainda não é possível utilizar esse canal de comunicação por meio da Proximity em dispositivos Lumia devido a limitações de hardware.

As configurações de permissões no celular podem influenciar a escolha do canal de comunicação de acordo com testes realizados em dispositivos Windows Phone 8.0. Para iniciar uma conexão através de um tap NFC é necessário que ambos dispositivos estejam com o Bluetooth ligado ou ambos dispositivos estejam com o Wi-Fi habilitado.



Last edited Aug 7, 2014 at 1:12 AM by brmontei, version 7