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