Duy trì điểm phát sóng giữa các phiên lái xe

Trang này mô tả cách bạn có thể thiết lập người dùng để duy trì các điểm phát sóng giữa phiên lái xe, tương tự như trải nghiệm lái xe qua Wi-Fi trong 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";
  }
}

Để tiếp tục chia sẻ Internet, hãy sử dụng ENABLE_PERSISTENT_TETHERING thông qua API Cài đặt, cũng có thể dùng để truy vấn.

Quyền

Bạn bị hạn chế sử dụng API CarWifiManager. Quyền mới này được tạo để bảo vệ truy cập.

public boolean canControlPersistApSettings() { ... }

Các cấp độ bảo vệ của quyền này là:

Quyền mới Quyền Mức độ bảo vệ
READ_PERSIST_TETHERING_SETTINGS Chữ ký | Đặc quyền

Theo mặc định, hành vi được duy trì là không được hỗ trợ. Lớp phủ tài nguyên (config_enablePersistTetheringCapabilities) được định cấu hình để chặn khả năng duy trì chia sẻ Internet. Để có chủ đích duy trì chia sẻ Internet, hãy đặt thành true để bật tính năng ngoài lựa chọn ưu tiên của người dùng chọn tham gia vì các ứng dụng hệ thống khác có quyền WRITE_SECURE_SETTINGS có thể cũng kiểm soát chế độ cài đặt này.

API sau đây sẽ xác định xem hành vi này đã được bật hay chưa. Hãy gọi API này trước bạn thay đổi 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() { ... }
}