ワンクリックWi-Fi共有を実現するためにNearbyServiceを統合することを教えてください

序文

友達は家にゲストとして来て、顧客は店で食事をするようになります...彼らが携帯電話をWi-Fiに接続したいとき、彼らは必然的にWi-Fiの名前とパスワードを尋ねます。このパスワードの要求と付与のプロセスは非常に面倒であり、パスワードを聞き間違えたり入力したりする場合が多く、さらに重要なことに、パスワードが意図せずに漏洩してしまいます。パスワードを手動で入力せずにワンクリックログインリンクWi-Fiを実現するにはどうすればよいですか?

Huawei Neighborhood Serviceは、「Wi-Fi共有」の新機能を提供します。この機能を使用すると、ユーザーはアプリケーションで接続するデバイスを選択し、ネットワークへの接続を支援することを確認するだけで、Wi-Fiネットワークへのワンクリックアクセスを実現できます。

Wi-FiShareDemo

Wi-FiShareDemoは、Wi-Fi共有を実現するためにNearby Serviceを統合したサンプルアプリケーションです。このセクションでは、このサンプルアプリケーションの実行方法とサンプルアプリケーションのキーコードを紹介します。

ツールの準備

  • 1 Huawei携帯電話(共有者はHuawei携帯電話である必要があります)

  • 1つのAndroidデバイス(受信者は、Android 5.0以降がインストールされ、HMSCoreがインストールされているデバイスである必要があります。これには、携帯電話、TVボックス、その他のAndroidデバイスが含まれます)。

  • 共有者はWi-Fiに接続されており、受信者は接続されていません

  • 開発ツールAndroidStudio(3.X以降)

サンプルアプリケーションを作成する

  • サンプルソースコードをAndroidStudioにインポートします。

  • Huawei開発者として登録ます。

  • 近隣サービス開発を参照し、Huaweiアプリケーション市場でアプリケーションを作成する準備をしてください。注:「agconnect-services.json」ファイルをダウンロードし、指示を参照して署名付き証明書を生成し、app /ディレクトリに配置する必要があります。

ここに写真の説明を挿入

  • Android Studioでアプリケーションを実行して、テストマシンにインストールします。

ここに写真の説明を挿入

手順

上記の手順でコンパイルと構築を完了し、携帯電話にインストールすると、次のように体験できます。注:テストマシンAはHuawei携帯電話であり、Wi-Fiに接続されている必要があります。テストマシンBは別のAndroid携帯電話であり、ターゲットWi-Fiに接続されていない可能性があります。

  1. テストマシンBでWi-FiShareDemoを開き、[Wi-Fiの接続]をクリックします

ここに写真の説明を挿入

  1. テストマシンAがWi-Fiに接続されている場合は、Wi-FiShareDemoを開き、[Wi-Fiの共有]をクリックします。

ここに写真の説明を挿入

  1. テストマシンAで共有する携帯電話を選択し、2台の携帯電話の確認コードが同じであることを確認して、「許可」を選択します。

ここに写真の説明を挿入

  1. テストマシンBのポップアップボックスでプロンプト「ALLOW」をクリックして、WLANへの接続を許可します。

ここに写真の説明を挿入

キーコードの説明

サンプルアプリケーションのソースコードはGitHubでホストされており、ソースコードを直接表示できます。このサンプルアプリケーションでは、クラスWifiShareHelper.javaがNearby Serviceインターフェイスに基づいてカプセル化されています。
ソースコードには、MainActivity.javaとWifiShareHelper.javaの2つのクラスしかありません。上記のWi-Fi共有プロセスでは、WifiShareHelper.javaの接続のみが使用されます。 Wi-Fiと共有Wi-Fi用の2つのインターフェース。

  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();
}

詳細

Huawei Developer Allianceの公式ウェブサイト:
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/

デモとサンプルコードをダウンロードするには、Githubにアクセスしてください。https://github.com/HMS-Core

統合の問題を解決するには、StackOverflowにアクセスしてください。
https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


元のリンク:https://developer.huawei.com/consumer/cn/forum/topic/0204415936476600459?fid=18

著者:ペッパー

おすすめ

転載: blog.51cto.com/14772288/2568372