Hotspots zwischen Fahrten beibehalten

Auf dieser Seite wird beschrieben, wie Sie Nutzer so einrichten können, dass Hotspots zwischen Fahrten aufrechterhalten werden, ähnlich wie bei der Nutzung von WLAN während der Fahrt in 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";
  }
}

Wenn Sie das Tethering dauerhaft nutzen möchten, verwenden Sie ENABLE_PERSISTENT_TETHERING über die Settings API, die auch für Abfragen verwendet werden kann.

Berechtigungen

Die Nutzung der CarWifiManager API ist eingeschränkt. Diese neue Berechtigung soll den Zugriff schützen.

public boolean canControlPersistApSettings() { ... }

Für diese Berechtigung gibt es folgende Schutzebenen:

Neue Berechtigung Berechtigung Schutzniveau
Ja READ_PERSIST_TETHERING_SETTINGS Unterschrift | Berechtigte

Das Standardverhalten für das Persistieren ist nicht unterstützt. Ein Ressourcen-Overlay (config_enablePersistTetheringCapabilities) ist so konfiguriert, dass das Tethering nicht dauerhaft aktiviert werden kann. Wenn Sie das Tethering dauerhaft aktivieren möchten, legen Sie den Wert auf true fest, um die Funktion zusätzlich zur Aktivierung in den Nutzereinstellungen zu aktivieren. Andere System-Apps mit der Berechtigung WRITE_SECURE_SETTINGS können diese Einstellung ebenfalls steuern.

Mit der folgenden API wird ermittelt, ob das Verhalten aktiviert ist. Rufen Sie diese API auf, bevor Sie ENABLE_PERSISTENT_TETHERING ändern.

/**
 * 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() { ... }
}