Na tej stronie opisujemy, jak skonfigurować hotspoty dla użytkowników, aby mogli korzystać z nich podczas jazdy w różnych sesjach, podobnie jak w przypadku Wi-Fi w 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";
}
}
Aby ustawić tethering na stałe, użyj ENABLE_PERSISTENT_TETHERING
w interfejsie Settings API, który może też służyć do wysyłania zapytań.
Uprawnienia
Korzystanie z interfejsu CarWifiManager API jest ograniczone. To nowe uprawnienie zostało utworzone w celu ochrony dostępu.
public boolean canControlPersistApSettings() { ... }
Poziomy ochrony dla tego uprawnienia:
Nowe uprawnienie | Uprawnienia | Poziom ochrony |
---|---|---|
Tak | READ_PERSIST_TETHERING_SETTINGS |
Podpis | Dostęp do poufnych danych |
Domyślne zachowanie to nieobsługiwane. Nakładka zasobu (config_enablePersistTetheringCapabilities
) jest skonfigurowana tak, aby blokować możliwość trwałego połączenia z internetem. Aby umożliwić stałe korzystanie z tetheringu, ustaw wartość na true
, aby włączyć tę funkcję niezależnie od preferencji użytkownika, ponieważ inne aplikacje systemowe z uprawnieniem WRITE_SECURE_SETTINGS
mogą również kontrolować to ustawienie.
Ten interfejs API określa, czy zachowanie jest włączone. Wywołaj ten interfejs API, zanim zmienisz 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() { ... }
}