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