Поддерживайте горячие точки между сеансами вождения

На этой странице описано, как настроить пользователей для поддержания точек доступа между сеансами вождения, аналогично вождению по Wi-Fi в 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";
 
}
}

Чтобы сохранить привязку, используйте ENABLE_PERSISTENT_TETHERING через API настроек , который также можно использовать для запроса.

Разрешения

Использование API CarWifiManager ограничено. Это новое разрешение создано для защиты доступа.

public boolean canControlPersistApSettings() { ... }

Уровни защиты для этого разрешения:

Новое разрешение Разрешение Уровень защиты
Да READ_PERSIST_TETHERING_SETTINGS Подпись | Привилегированный

По умолчанию поведение сохранения не поддерживается. Наложение ресурса ( config_enablePersistTetheringCapabilities ) настроено на блокировку возможности сохранения привязки. Чтобы намеренно сохранить привязку, установите значение true чтобы включить эту функцию поверх согласия пользователя, поскольку другие системные приложения с разрешением WRITE_SECURE_SETTINGS также могут контролировать этот параметр.

Следующий API определяет, включено ли это поведение. Вызовите этот API перед изменением 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() { ... }
}