• 英特尔 Android* 开发者指南上的对等应用


    简单介绍

    当没有 Wi-Fi 訪问点或互联网訪问时,Android* 应用可能须要对等连接在两台或多台 Android* 设备之间建立连接。 比方,文件共享应用和多人游戏。

    该功能可使用 NFC、蓝牙或 Wi-Fi 对等技术来实施。 特定案例中的首选技术须要依据所需的距离、连接速度、功耗和独特的技术特性来决定。

    本文将对 Wi-Fi 对等技术进行评估。 Wi-Fi 对等(P2P)支持具备适当应用的 Android 4.0 或更高版本号在没有接入点的情况下通过 Wi-Fi 彼此连接。

    Android Wi-Fi P2P 框架符合 Wi-Fi Direct 标准。

    普通情况下,Wi-Fi Direct 支持更快的速度和更远的距离,可是所需的功耗比蓝牙连接高。

    实施

    本文将重点介绍在两台 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 文档。了解很多其它信息。

  • 相关阅读:
    flex 按钮自定义皮肤
    SQl查询数据库库名,表名、表的列名
    导出到excel文件
    信息安全技术 实验一 JS 实现 Source code CryptoJS
    python学习
    博客园可以直接写可运行的JS,还可以传文件,我爱死你啦 力挺博客园
    Javascript 数的表示与位运算
    交换两个值
    开发Question
    2272012 笔记 开机启动服务
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5340030.html
Copyright © 2020-2023  润新知