ड्राइविंग सेशन के बीच हॉटस्पॉट बनाए रखना

इस पेज पर, ड्राइविंग सेशन के बीच हॉटस्पॉट बनाए रखने के लिए, उपयोगकर्ताओं को सेट अप करने का तरीका बताया गया है. यह तरीका, 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() { ... }
}