乐趣区

关于hms-core:教你集成Nearby-Service实现一键WiFi分享功能

前言

敌人来家里做客、顾客到店里用餐…当他们想要给本人的手机链接 Wi-Fi 时,总免不了询问 Wi-Fi 名称和明码。这种问明码和给明码的过程非常麻烦,经常还会有听错或者输错明码的状况,更重要的是无意间会造成明码泄露。如何实现能够不必手动输出明码,一键登录链接 Wi-Fi 呢?

华为 Nearby Service 为您提供了“Wi-Fi 分享”新个性。通过此个性,用户只须要在利用中选中待连网的设施并确定帮助其连网,即可实现一键接入 Wi-Fi 网络。

Wi-FiShareDemo

Wi-FiShareDemo 是一个曾经集成 Nearby Service 实现 Wi-Fi 分享的示例利用,本节介绍如何将这个示例利用运行起来及该示例利用的要害代码。

工具筹备

  • 1 台华为手机(分享方须要是华为手机)
  • 1 台安卓设施(接受方须要是安卓 5.0 以上且装置了 HMSCore 的设施,能够是手机,电视盒子等安卓设施)
  • 分享方已连贯 Wi-Fi,接受方未连贯
  • 开发工具 Android Studio(3.X or later)

构建示例利用

  • 在 Android Studio 中导入示例源代码。
  • 注册成为华为开发者。
  • 参考 Nearby Service 开发筹备在华为利用市场创立一个您的利用。留神:须要下载“agconnect-services.json”文件和参考领导生成签名证书并搁置在 app/ 目录下。

  • 在 Android Studio 中运行该利用将其装置到测试机。

操作步骤

如您曾经按上述步骤实现编译构建并装置到了手机上,则能够按如下步骤进行体验。留神:测试机 A 必须是华为手机且曾经连贯 Wi-Fi,测试机 B 能够是其余安卓手机且未连贯指标 Wi-Fi。

  1. 在测试机 B 上关上 Wi-FiShareDemo,点击“Connect Wi-Fi”

  1. 测试机 A 已连上 Wi-Fi,关上 Wi-FiShareDemo,点击 Share Wi-Fi”

  1. 在测试机 A 上抉择待分享的手机,确认两台手机上的验证码统一,抉择“ALLOW”

  1. 在测试机 B 上点击弹出框的提醒“ALLOW”,容许连贯 WLAN。

要害代码阐明

示例利用的源代码托管在 GitHub 上,您能够间接查看源码。在这个示例利用中,类 WifiShareHelper.java 基于 Nearby Service 的接口做了封装,提供了
源码中仅有两个类 MainActivity.java 和 WifiShareHelper.java,上述分享 Wi-Fi 过程仅用了 WifiShareHelper.java 中连贯 Wi-Fi 和分享 Wi-Fi 的两个接口。

  1. 连贯 Wi-Fi(requestWiFiConfig)
// The device request to connect WiFi
public void requestWiFiConfig() {Log.d(TAG, "requestWiFiConfig");
    mWifiShareEngine.startWifiShare(mWifiShareCallback, WifiSharePolicy.POLICY_SET)
            .addOnFailureListener(e -> Log.e(TAG, Objects.requireNonNull(e.getMessage())));
}
  1. 分享 Wi-Fi(shareWiFiConfig)
// The device to share wifi
public void shareWiFiConfig() {Log.d(TAG, "Start to share WiFi");
    mWifiShareEngine.startWifiShare(mWifiShareCallback, WifiSharePolicy.POLICY_SHARE)
            .addOnFailureListener(e -> Log.e(TAG, Objects.requireNonNull(e.getMessage())));
    showListView();
    setListViewListenerMode();}

更多详情

华为开发者联盟官网:
https://developer.huawei.com/consumer/en/hms/huawei-nearbyservice?ha_source=hms1

获取开发领导文档:
https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/introduction-0000001050040566-V5?ha_source=hms1

参加开发者探讨请到 Reddit 社区:https://www.reddit.com/r/HuaweiDevelopers/

下载 demo 和示例代码请到 Github:https://github.com/HMS-Core

解决集成问题请到 Stack Overflow:
https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0204415936476600459?fid=18

原作者:胡椒

退出移动版