《Android-WifiP2pManager-官方API文档翻译.docx》由会员分享,可在线阅读,更多相关《Android-WifiP2pManager-官方API文档翻译.docx(2页珍藏版)》请在优知文库上搜索。
1、WifiPlpManager这个类供应了API来管理Wi-Fi点对点连接。这使得应用可以发觉存在的P2P点、建立与其他P2P点的连接以及搜j获得全部P2P点的名单.节一个通过运用wifi的P2P连接生成时,设备接着保持者在移动或其他任何可用的网络设备上的互联网链接。这个API是以异步方式来响应一个应用通过该应用供应的监听回调(IiStenercallbacks)。在做任何p2p操作前,应用须要运用initialize(Context,1.ooper,WifiP2pManager.ChanneI1.iStener)来做初始化。大部分询用的应用须要WifiP2pMj11ager.Adion1.-S
2、tener实例来接收回调OnSUCCeSS()OronFaiIUre(int)这个动作返问了初始化动作是胜利还是失败的标识,假如失败,则回由可能是如下三种的其中种:ERRoR,P2PUNSUPPORTED.BUSY.成月J程.序不J通过discoverPeers(KitiP2pManager.ChannelfWifiP2pManager.Action1.istener)来初始化p2p点搜寻。应用的一个初始化完成的搜寻恳求在设备起先连接到一个P2P点、形成一个P2P组或者是一个明确的指令(StOPPeerDlSCCVery(Nif,P2pHanager.Channel,WifiP2pManage
3、r.ACtion1.iStener)之前都是保持存活的.应用程序可以通过监听WlFIP2PDIScOVERYCHANGEDAeTlON来知晓一个p2p点司点搜寻是在运行还是已经停止.另外,,WIFIP2PPEERSCHANGEDACTloN可表明火/到的p2p点名单是否已改变。应用程序可通过requestpeerserAddre和一个标识i前设备是否是这个缎的OMner的MiU位IsGroupOwner。一个P2P客户端因此可以套接字通信的方式来与组的owner来通神运用discoverPec。S(WifiP2pManager.Channel,WifiP2pManager.Action1.is
4、tener),应用可以找到四周的p2p点,但是并没有好的方法找出哪些点可以去建立连接。举例说明,除非是建;广迎接,否则一个嬉戏程序是无法找出四周其他玩同样娴戏的点。顶关联搜寻服务的目的就是基于运行的服务商来解决这个筛选p2p点问题的.运用预关联搜寻服务,应用程序可以先于设备之间的连接建立前赐予建议。当前,基于DNS的搜寻服务(BonjOUr)和Upnp是支持的较面层的协议,可在dns-sd.org找到Bonjour资源,在upnp.org上找到Upnp资源“应用程序可通过调用add1.ocalService(WifiP2pManager.Channe1,WilfiP2pServ:1.CeIno
5、,WifiP2pManager.Aution1.istener)注册一个Upnp或者BOnjoUr服务。当添加完一小本地的服务后,rainwork会在一个p2p连接建立之前自动的响应点搜寻服务。调用remove1.oCalSerViCe(WifiP2pManager.Channel,WifiP2pServiceInfo,WifiPZpManager-Action1.istener)可以取消*个本地服务,而Clear1.oCalServiCQs(WifiP2pManaget.Channel,WifiP2pManager.ActiOn1.iStener)可以用来消除全部的本地服务。应用程序可以通过
6、调用QiscoyerSe:二.Channel,WifiP2pManager.Action1.istener来信找那些支持P2P服务的设备,而在初始化搜寻之前,应用程序可运用addServiceRequest(WifiP2pManager.Channel,WifiP2pServiceRequest,WifiP2pManager.ACtion1.iStener)来添加搜寻服务恳求,运用removeServiceRequest(WiflP2pManager.Channel,WifiP2pServiceRequest,WifiP2pManager.ActiOn1.iStener)来消除某个搜寻服务恳求
7、或者运用ClearServiceRequQsts(WifiP2pManager.Channel,7;:1:-.:.U:二:,-;-:r)来清除全部的搜寻服务恳求。而假如没有服务恳求保留,那么之前运行的搜寻服务将停止。应用程序可以通过用于Bonjour的setDnsSdReSPonSe1.iStener5(WifiP2pManager.Channel,7IifiP2pManager.DnssdserviceResponse1.istener,WifiP2pManager.DnsSdTxtRecord1.istener)或者用于Upnp的SetupnpserviceResponse1.istener(WifiP2pManager.Channel,WifiP2州anager.UpnpServiceReSPonSe1.istener)设置监听回调来获得搜寻服务恳求的结果.留意:运用ini-.-ilze:rxt,二:”:PTr,WifiP2pManager.ChanneI1.iStener)须要注册权限ACCESSWFTSTATE和CHANGEW:rTSTATE从而来完成更多的操作.可通过调用COnt-etSystemService(COnteXt.WlFlP2PSERVICE)来获得这个类的实例。