在驾车会话之间保持热点

本页介绍了如何让用户在驾驶会话之间保持热点连接,类似于 AAOS 中的 Wi-Fi 驾驶体验。

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";
  }
}

如需保留网络共享,请通过 Settings API 使用 ENABLE_PERSISTENT_TETHERING,该 API 还可用于查询。

权限

CarWifiManager API 的使用受到限制。创建此新权限是为了保护访问权限。

public boolean canControlPersistApSettings() { ... }

此权限的保护级别如下:

是否新权限 权限 保护级别
READ_PERSIST_TETHERING_SETTINGS 签名 | 特许

保留行为默认为“不受支持”。资源叠加层 (config_enablePersistTetheringCapabilities) 已配置为阻止保留网络共享。如需有意保留网络共享功能,即使用户的偏好为选择启用此功能,也要将值设为 true 来明确启用此功能,因为具有 WRITE_SECURE_SETTINGS 权限的其他系统应用也可以控制此设置。

以下 API 可确定该行为是否已启用。在更改 ENABLE_PERSISTENT_TETHERING 之前调用此 API。

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