ローカル専用 Wi-Fi アクセス ポイントを使用する

ローカル専用アクセス ポイントを使用すると、Wi-Fi アクセス ポイントに接続されているデバイス上のアプリが相互に通信できるようになります。このメソッドで作成されたネットワークは、インターネットにアクセスできません。各アプリはアクセス ポイントに対して 1 つのリクエストを送信できますが、複数のアプリがアクセス ポイントを同時にリクエストできます。複数のアプリが同時に正常に登録されると、基盤となるアクセス ポイントが共有されます。LocalOnlyHotspotCallback.onStarted(LocalOnlyHotspotReservation) は、アクセス ポイントが使用可能になると呼び出されます。

Android 13(API レベル 33)以降をターゲットとするアプリの場合、次のコード スニペットに示すように、ローカル専用アクセス ポイントを使用するには NEARBY_WIFI_DEVICES をリクエストする必要があります。それより前のバージョンの Android をターゲットとするアプリは、代わりに ACCESS_FINE_LOCATION をリクエストする必要があります。

<manifest ...>
    <<!-- If your app targets Android 13 (API level 33)
          or higher, you must declare the NEARBY_WIFI_DEVICES permission. -->
    <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
                     <!-- If your app derives location information from
                          Wi-Fi APIs, don't include the "usesPermissionFlags"
                          attribute. -->
                     android:usesPermissionFlags="neverForLocation" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
                     <!-- If any feature in your app relies on
                          precise location information, don't include the
                          "maxSdkVersion" attribute. -->
                     android:maxSdkVersion="32" />
    <application ...>
        ...
    </application>
</manifest>

ローカル専用アクセス ポイントを使用する方法について詳しくは、startLocalOnlyHotspot() をご覧ください。