En esta página, se describe cómo puedes configurar los usuarios para que mantengan los hotspots entre las sesiones de conducción, similar a la experiencia de conducción con Wi-Fi en AAOS.
public class CarSettings {
...
@SystemApi
public static final class Global {
...
/**
* Enables persistent tethering when set to {@code "true"}.
*
* <p>When enabled, tethering is started when the car is started given
* that the hotspot was enabled at shutdown and all tethering sessions
* will remain on even if no devices are connected to it.
*
* <p>When disabled, hotspot will turn off automatically if no devices
* are connected and will no longer persist through drives.
*
* @hide
*/
@SystemApi
public static final String ENABLE_PERSISTENT_TETHERING =
"android.car.ENABLE_PERSISTENT_TETHERING";
}
}
Para conservar la conexión mediante dispositivo móvil, usa ENABLE_PERSISTENT_TETHERING
a través de la
API de Settings,
que también se puede usar para realizar consultas.
Permisos
El uso de la API de CarWifiManager está restringido. Este nuevo permiso se crea para acceso de guardia.
public boolean canControlPersistApSettings() { ... }
Los niveles de protección para este permiso son los siguientes:
Permiso nuevo | Permiso | Nivel de protección |
---|---|---|
Sí | READ_PERSIST_TETHERING_SETTINGS |
Firma | Con privilegios |
El comportamiento predeterminado es not supported. Una superposición de recursos
(config_enablePersistTetheringCapabilities
) está configurado para bloquear la
la capacidad de continuar la conexión mediante dispositivo móvil. Para conservar la conexión mediante dispositivo móvil intencionalmente, configura el
valor en true
para habilitar la función sobre las preferencias del usuario
porque otras apps del sistema con el permiso WRITE_SECURE_SETTINGS
pueden
controlar este parámetro de configuración.
La siguiente API determina si el comportamiento está habilitado. Llama a esta API antes
cambias ENABLE_PERSISTENT_TETHERING
.
/**
* CarWifiManager provides API to allow for applications to perform Wi-Fi specific
* operations.
*
* @hide
*/
@SystemApi
public final class CarWifiManager extends CarManagerBase {
/**
* Returns {@code true} if the persist tethering settings are able to be
* changed.
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_READ_PERSIST_TETHERING_SETTINGS)
public boolean canControlPersistApSettings() { ... }
}