Windows 8 NFC是否需要使用Peerfinder?
在Windows应用商店应用程序中,我试图使用PeerFinder类来定位周围支持蓝牙的设备,但每次调用PeerFinder.FindAllPeersAsync()时,我都会遇到一个通用异常: 我认为问题在于Peerfinder.SupportedDiscoveryTypes==PeerDiscoveryTypes.None,但我不确定这是为什么。我的电脑没有NFC收音机,但它有蓝牙。我本以为这会使Peerfinder.SupportedDiscoveryTypes==PeerDiscoveryTypes.Browse。这项工作需要NFC吗 我在WindowsPhone8中使用了几乎相同的代码,但它确实有NFC(尽管我只需要在设备连接时第一次使用它;之后它们每次都会记得彼此) 更新: 以下是人们在评论中要求的更多信息: 1) AllowBluetooth==真。Windows 8 NFC是否需要使用Peerfinder?,windows-8,windows-store-apps,proximity,Windows 8,Windows Store Apps,Proximity,在Windows应用商店应用程序中,我试图使用PeerFinder类来定位周围支持蓝牙的设备,但每次调用PeerFinder.FindAllPeersAsync()时,我都会遇到一个通用异常: 我认为问题在于Peerfinder.SupportedDiscoveryTypes==PeerDiscoveryTypes.None,但我不确定这是为什么。我的电脑没有NFC收音机,但它有蓝牙。我本以为这会使Peerfinder.SupportedDiscoveryTypes==PeerDiscovery
2) 蓝牙功能已启用(我通过蓝牙将某些东西连接到电脑,只是为了向自己证明收音机工作正常)。
3) 增加了近距离和联网功能。这里有一个扩展示例,说明如何使用此功能。您似乎可以在某些设备上使用WiFi,但如果
SupportedDiscoveryTypes==peerDiscoveryTypes.None
则上述各项均不可用。有关如何使用FindAllPeers
的更多说明,请参见此处
您可以使用SupportedDiscoveryTypes属性来确定
当前电脑有一个可工作的接近设备,或者Wi-Fi
该设备支持Wifi直接浏览
链接中的示例检查:
if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes &
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse) !=
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)
{
WriteMessageText("Peer discovery using Wifi-Direct is not supported.\n");
return;
}
Windows 8设备似乎依赖WiFi Direct建立套接字连接,而WP8设备则使用蓝牙。我知道,使用支持NFC的Windows8平板电脑,您可以通过点击手势触发连接(请参阅实现此技术的代码示例)。另见。但是,您可以使用蓝牙连接Windows Sotre应用程序和WP8应用程序 MSDN文档建议,通过使用PeerFinder.alternateID实体,您可以告诉每个应用程序在其他设备上运行的应用程序的ID 这是另一篇关于这个主题的文章
希望这有帮助。不,我知道如果SupportedDiscoveryTypes为None,您将无法连接。我的问题是,为什么你需要一个NFC设备才能使用蓝牙(应用到应用)。这是真的吗?另外,你的设备是否启用了蓝牙功能?请参见此处,了解其他人使其工作的示例:是,AllowBluetooth==true,并且蓝牙已启用(我通过蓝牙将某些东西连接到电脑,只是为了向自己证明收音机正在工作)。您是否声明了
近距离
功能?
if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes &
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse) !=
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)
{
WriteMessageText("Peer discovery using Wifi-Direct is not supported.\n");
return;
}