運転セッション間でホットスポットを維持する

このページでは、2 つの間でホットスポットを維持できるようにユーザーを設定する方法について説明します。 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";
  }
}

テザリングを維持するには、ENABLE_PERSISTENT_TETHERINGSettings API、 クエリにも使用できます。

権限

CarWifiManager API の使用は制限されています。この新しい権限は 保護します。

public boolean canControlPersistApSettings() { ... }

この権限の保護レベルは次のとおりです。

新しい権限 権限 保護レベル
READ_PERSIST_TETHERING_SETTINGS 署名 |閲覧者限定

永続的な動作はデフォルトで not supported に設定されます。リソース オーバーレイ (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() { ... }
}