الحفاظ على نقاط الاتصال بين جلسات القيادة

توضِّح هذه الصفحة كيفية إعداد المستخدمين للحفاظ على نقاط الاتصال بين جلسات القيادة، على غرار تجربة القيادة باستخدام شبكة 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 من خلال Settings API، التي يمكن استخدامها أيضًا للاستعلام.

الأذونات

يُحظر استخدام CarWifiManager API. تم إنشاء هذا الإذن الجديد لحماية الوصول.

public boolean canControlPersistApSettings() { ... }

مستويات الحماية لهذا الإذن هي:

إذن جديد الإذن مستوى الحماية
نعم READ_PERSIST_TETHERING_SETTINGS التوقيع | مميّز

يكون السلوك المستمر غير متوافق تلقائيًا. تم ضبط تراكب مورد (config_enablePersistTetheringCapabilities) لمنع إمكانية الحفاظ على الربط. للحفاظ على الربط عن قصد، اضبط القيمة على true لتفعيل الميزة بالإضافة إلى موافقة المستخدم، لأنّ تطبيقات النظام الأخرى التي لديها إذن WRITE_SECURE_SETTINGS يمكنها أيضًا التحكّم في هذا الإعداد.

تحدّد واجهة برمجة التطبيقات التالية ما إذا كان السلوك مفعّلاً. استدعِ واجهة برمجة التطبيقات هذه قبل تغيير 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() { ... }
}