• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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|![password](screenshots/main.png)|![password](screenshots/connect_wifi.png)|![password](screenshots/wifi_list.png)|
15|P2p测试                                      |P2p连接                                     | 创建群组                               |
16|---------------------------------------------|---------------------------------------|-----------------------------------------|
17|![password](screenshots/p2ptest.png)|![password](screenshots/p2pconnect.png)|![password](screenshots/creatgroup.png)|
18
19
20|获取真实BSSID授权                         |
21|-----------------------------------------|
22|![password](screenshots/GET_WIFI_PEERS_MAC.png)     |
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_INFOohos.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```