简介
当没有 Wi-Fi 访问点或互联网访问时,Android* 应用可能需要对等连接在两台或多台 Android* 设备之间建立连接。 比如,文件共享应用和多人游戏。
成都创新互联是一家集成都做网站、网站建设、网站页面设计、网站优化SEO优化为一体的专业网站制作公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。该功能可使用 NFC、蓝牙或 Wi-Fi 对等技术来实施。 特定案例中的选技术需要根据所需的距离、连接速度、功耗和独特的技术特性来决定。
本文将对 Wi-Fi 对等技术进行评估。 Wi-Fi 对等(P2P)支持具备适当应用的 Android 4.0 或更高版本在没有接入点的情况下通过 Wi-Fi 彼此连接。 Android Wi-Fi P2P 框架符合 Wi-Fi Direct 标准。 一般情况下,Wi-Fi Direct 支持更快的速度和更远的距离,但是所需的功耗比蓝牙连接高。上一章研究了Android* Bullet 物理引擎移植至英特尔 架构详解
实施
本文将重点介绍在两台 Android 设备之间建立套接字连接的基本步骤。
如要使用 Wi-Fi P2P,应用必须将最低软件开发套件版本正确设置为 14,并在 AndroidManifest.xml 文件中申请如下许可:
ACCESS_WIFI_STATE
CHANGE_WIFI_STATE
ACCESS_NETWORK_STATE
CHANGE_NETWORK_STATE
INTERNET
应用需要调用 WifiP2pManager 对象的 initialize() 方法,以使用 Wi-Fi P2P 框架注册应用。 这种方法必须在执行 Wi-Fi P2P 操作前调用。
应用需要为以下 Wi-Fi P2P intent 创建和注册广播接收器:
WIFI_P2P_CONNECTION_CHANGED_ACTION
WIFI_P2P_PEERS_CHANGED_ACTION
WIFI_P2P_STATE_CHANGED_ACTION
WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
执行以上步骤后,应用将能够在 WifiP2pManager 对象中调用 Wi-Fi P2P 方法,并接收 Wi-Fi P2P intent。 大部分的 WifiP2pManager 方法是异步的,因此开发人员需要向每种方法调用提供 listener 来获取状态和结果。
如要发现可用的 Wi-Fi P2P 设备,需要调用 WifiP2pManager 对象的 discoverPeers() 方法。 发现流程将会一直执行,知道设备打开 Wi-Fi P2P 连接或调用 stopPeerDiscovery 方法。
当应用接收 WIFI_P2P_PEERS_CHANGED_ACTION intent 时,使用 WifiP2pManager 对象的 requestPeers()方法将能够获得发现的对等设备列表。
如要连接获取的对等设备列表中的某台设备,需要准备包含完整 deviceAddress 字段的 WifiP2pConfig对象,并调用 WifiP2pManager 对象的 connect() 方法。
成功连接后,通过调用 WifiP2pManager 对象的 requestConnectInfo() 方法获取设备 IP 地址。
然后,使用 IP 地址创建一个 Socket 和 ServerSocket 对象。 使用标准的套接字接口执行通信。
以下是调用方法并接收 intent 以准备为 Wi-Fi P2P 设备建立连接的图表:
如要在两台 Android 设备之间建立 Wi-Fi P2P 连接,至少需要执行这些步骤。 应用应为所有 Wi-Fi P2P intent 和 listener 实施处理程序,以充分响应不同的事件,如连接丢失或 Wi-Fi 禁用。 请参阅 Android 文档,了解更多信息。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:Android研究之英特尔Android*开发人员指南上的对等应用详解-创新互联
文章位置:http://scgulin.cn/article/goiee.html