1# P2P模式开发指南 2 3### 介绍 4 5本示例通过将[Connectivity Kit指南文档](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/connectivity)中各场景的开发示例,展示在工程中,帮助开发者更好地理解ArkUI提供的组件及组件属性并合理使用。该工程中展示的代码详细描述可查如下链接: 6[P2P模式开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/connectivity/wlan/p2p-development-guide.md)。 7[Wi-Fi扫描](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/connectivity/wlan/scan-development-guide.md)。 8[STA模式开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/connectivity/wlan/sta-development-guide.md)。 9 10### 效果预览 11|应用界面| 12|主页 |建议网络连接 | WiFi列表 | 13|---------------------------------------------|---------------------------------------|-----------------------------------------| 14|||| 15|P2p测试 |P2p连接 | 创建群组 | 16|---------------------------------------------|---------------------------------------|-----------------------------------------| 17|||| 18 19 20|获取真实BSSID授权 | 21|-----------------------------------------| 22| | 23 24### 使用说明 25 261. 启动应用后会判断WLAN是否激活,如果是激活状态,点击wifi列表会扫描并展示可用WiFi列表; 272. 点击首页建议击网络连接,填写可选参数,连接建议网络; 283. 点击首页P2p测试,进行P2p连接和创建群组场景测试。 29 30### 工程目录 31``` 32entry/src/main/ets/ 33|---component 34| |---P2pView.ets // P2p列表详情页 35| |---TitleBar.ets // 页面头部组件 36| |---WifiView.ets // wifi列表详情页 37|---entryability 38| |---EntryAbility.ets // 应用入口,在这里请求相关权限和进入首页 39|---pages 40| |---Index.ets // 首页 41| |---AvailableWifi.ets // 热点扫描信息列表 42| |---WifiConnect.ets // 建议网络连接 43| |---P2pTest.ets // P2p测试场景 44| |---AvailableP2p.ets // P2p扫描信息列表 45| |---P2pSetting.ets // 创建群组 46``` 47 48### 具体实现 49 50* 开始测试前需打开设备WiFi, 51首页:[Index.ets](entry/src/main/ets/pages/Index.ets)。 52 53* 建议网络连接:[WifiConnect.ets](entry/src/main/ets/pages/WifiConnect.ets),根据提示填写参数信息通过connectwifi()发起连接。 54* wifi的扫描功能:首页点击wifi列表,在[AvailableWifi.ets](entry/src/main/ets/pages/AvailableWifi.ets) 通过(entry/src/main/ets/component/WifiView.ets)显示每一个WiFi信息,调用getScanInfos()获取扫描结果,调用定时器每3s获取一次。 55* P2p场景测试: 56 *p2p连接:[AvailableP2p.ets.ets](entry/src/main/ets/pages/AvailableP2p.ets) 通过(entry/src/main/ets/component/P2pView.ets)显示每一个P2p信息,点击列表信息通过connectP2p()函数发起连接。 57 *创建P2P群组:在[P2pSetting.ets](entry/src/main/ets/pages/P2pSetting.ets) 填写参数信息通过createGroup()来创建群组。 58### 相关权限 59 60[ohos.permission.GET_WIFI_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionget_wifi_info) 61 62[ohos.permission.SET_WIFI_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionset_wifi_info) 63 64[ohos.permission.GET_WIFI_PEERS_MAC](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/restricted-permissions.md#ohospermissionget_wifi_peers_mac) 65### 依赖 66 67不涉及。 68 69### 约束与限制 70 711. 本示例仅支持标准系统上运行, 支持设备:RK3568。 72 732. 本示例需要使用DevEco Studio 5.0.5 及以上版本才可编译运行。 74 753. 本示例已适配API version 20版本SDK,本示例需要使用@ohos.wifiManager系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md/) 。 76 774. 本示例需要使用ohos.permission.GET_WIFI_INFO、ohos.permission.SET_WIFI_INFO的权限为system_grant级别、ohos.permission.GET_WIFI_PEERS_MAC的权限为system_basic级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md) 查看),需要手动配置对应级别的权限签名。 78 79### 下载 80 81如需单独下载本工程,执行如下命令: 82 83``` 84git init 85git config core.sparsecheckout true 86echo code/DocsSample/ConnectivityKit/Wlan > .git/info/sparse-checkout 87git remote add origin https://gitee.com/openharmony/applications_app_samples.git 88git pull origin master 89```