Usar um ponto de acesso Wi-Fi somente local

É possível usar um ponto de acesso somente local para permitir que os aplicativos em dispositivos conectados ao ponto de acesso Wi-Fi se comuniquem entre si. A rede criada por esse método não terá acesso à Internet. Cada aplicativo pode fazer uma única solicitação para o ponto de acesso, mas vários aplicativos podem solicitar o ponto de acesso ao mesmo tempo. Quando vários aplicativos são registrados ao mesmo tempo, eles compartilham o ponto de acesso. LocalOnlyHotspotCallback.onStarted(LocalOnlyHotspotReservation) é chamado quando o ponto de acesso está pronto para uso.

Caso o app seja destinado ao Android 13 (nível 33 da API) ou versões mais recentes, é necessário solicitar a NEARBY_WIFI_DEVICES para usar um ponto de acesso local, conforme mostrado no snippet de código abaixo. Os apps que são direcionados a uma versão anterior do Android precisam solicitar 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>

Para mais detalhes sobre o uso de pontos de acesso somente locais, consulte startLocalOnlyHotspot().