API לעקוף מיקום רכב

תכונה זו מאפשרת לשלוט בנפרד על גישה למיקום של אפליקציות סיוע לנהג, הרשומות ברשימה הרשומה באנדרואיד, על ידי מתג "השתמש במיקום לסיוע לנהג". זה מאפשר לאפליקציות אלה לגשת למיקום גם כאשר מתג "השתמש במיקום" כבוי.

  • אנדרואיד 12 אינו מספק API ציבורי עבור תכונה זו. אפליקציות סיוע לנהג צריכות לבקש עדכוני מיקום כרגיל.
  • Android 13 ואילך חייב לבצע בקשת מיקום כדי להשתמש LocationManager.requestLocationUpdates() ולהעביר אובייקט LocationRequest המוגדר עם LocationRequest.setAdasGnssBypass(true) .

השתמש בממשק API לעקוף מיקום סיוע לנהג

הסעיפים הבאים מתארים כיצד להשתמש ב-API לעקוף מיקום סיוע לנהג. למידע נוסף על מדיניות השימוש, ראה מדיניות לעקוף מיקום של רשימת ההיתרים .

בדוק את מצב מתג הסיוע לנהג

ב-Android 13 ומעלה, אתה יכול לבדוק את סטטוס החלפת סיוע בנהג לפני שתבקש עדכוני מיקום.

// Returns the current status of "Use location for driver assistance".
locationManager.isAdasGnssLocationEnabled();

הפעל את הפקודות של Android Debug Bridge (ADB).

לפיתוח ובדיקה, אתה יכול לבדוק או לשנות במהירות את המצב של מתג הסיוע לנהג מבלי להשתמש בהגדרות מיקום.

  1. כדי להשתמש בפקודות ADB כדי לבדוק או לשנות סטטוס:
    // Gets the status of ADAS location.
    adb shell cmd location is-adas-gnss-location-enabled
    
    // Enables ADAS location.
    adb shell cmd location set-adas-gnss-location-enabled true
    
    // Disables ADAS location.
    adb shell cmd location set-adas-gnss-location-enabled false
    

הגדר הרשאה

ראה את הדברים הבאים עבור מהדורות אנדרואיד ספציפיות לגרסה:

  1. ב-Android 12, אפליקציות סיוע לנהג חייבות לקבל את ההרשאה WRITE_SECURE_SETTINGS .
  2. ב-Android 13 ומעלה, נדרשת הרשאת LOCATION_BYPASS .

הוסף אפליקציה לרשימת ההיתרים במכשיר שלך

בספריית etc/sysconfig :

  1. הוסף את שם החבילה של האפליקציה בקובץ XML של תצורת מערכת:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>
    

כדי להבטיח שהחבילה שלך מופיעה בממשק המשתמש של הגדרות המיקום, הוסף את שם החבילה שלך ל- config_locationDriverAssistancePackageNames .

הוסף את כתובת האתר של האפליקציה לגילוי מדיניות הפרטיות ל- AndroidManifest.xml . השם של המטא-נתונים צריך להיות privacy_policy .

<meta-data android:name="privacy_policy" android:value= privacy policy URL/>

הסר את "השתמש במיקום עבור מתג סיוע לנהג"

אם אין לך אפליקציית סיוע לנהג המופעלת על ידי מיקום המבקשת מיקום מאנדרואיד, תוכל להגיב על בלוק הקוד כדי להסיר את המתג להגדרות מיקום.

  1. פתח packages/apps/Car/Settings/res/xml/location_settings_fragment.xml ולאחר מכן הגיב את הקוד הבא.
    <com.android.car.ui.preference.CarUiTwoActionSwitchPreference
    
        android:fragment="com.android.car.settings.location.AdasLocationFragment"
    
        android:key="@string/pk_location_driver_assistance_state_switch"
    
        android:title="@string/location_driver_assistance_toggle_title"
    
        android:summary="@string/location_driver_assistance_toggle_summary"
    
    
    settings:controller="com.android.car.settings.location.AdasLocationSwitchPreferenceController"
    
        settings:searchable="true"/>
    
      <com.android.car.settings.common.DividerPreference/>
    
  2. לאחר הסרת המתג, הגדר את config_defaultAdasGnssLocationEnabled ל- false .

הפעל את חבילת הבדיקות לרכב

גוגל מספקת מבחן חבילת בדיקות רכב (ATS), המבטיחה שכל חבילות הסיוע לנהג במכשיר נרשמו ב-Google. הבדיקה מוגדרת מרחוק. אינך צריך לחכות לגרסה הבאה של ATS כדי להוסיף חבילה חדשה. אתה יכול ללמוד עוד ב- Complete Automotive Tests in a Box.