התכונה הזו מאפשרת לשלוט בנפרד בגישה למיקום של אפליקציות עזרה לנהג שנכללות ברשימה המורשית ושל אפליקציות עזרה לנהג שכלולות בחבילת Android, באמצעות המתג 'שימוש במיקום לצורך עזרה לנהג'. כך לאפליקציות האלה תהיה גישה למיקום גם כשהמתג 'שימוש במיקום' כבוי.
- ב-Android 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)
בפיתוח ובבדיקה, אפשר לבדוק או לשנות במהירות את המצב של המתג של מערכת העזרה לנהג בלי להשתמש בהגדרות המיקום.
- כדי להשתמש בפקודות 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
הגדרת ההרשאה
למידע על גרסאות ספציפיות של Android, אפשר לעיין במאמרים הבאים:
- ב-Android 12, אפליקציות לעזרת נהגים חייבות לכלול את ההרשאה WRITE_SECURE_SETTINGS.
- ב-Android מגרסה 13 ואילך, נדרשת ההרשאה
LOCATION_BYPASS
.
הוספת אפליקציה לרשימת ההיתרים במכשיר
בספרייה etc/sysconfig
:
- מוסיפים את שם החבילה של האפליקציה בקובץ XML של הגדרות המערכת:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
כדי לוודא שהחבילה תופיע בממשק המשתמש של הגדרות המיקום, צריך להוסיף את שם החבילה לקובץ config_locationDriverAssistancePackageNames
.
מוסיפים את כתובת ה-URL של גילוי הנאות בנושא מדיניות הפרטיות של האפליקציה אל AndroidManifest.xml
. השם של המטא-נתונים צריך להיות privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
מסירים את המתג 'שימוש במיקום עבור עזרה לנהג'.
אם אין לכם אפליקציית עזרה לנהג שמבוססת על מיקום ומבקשת את המיקום מ-Android, תוכלו להוסיף הערה לקוד כדי להסיר את המתג של הגדרות המיקום.
- פותחים את הקובץ
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/>
- אחרי הסרת המתג, מגדירים את
config_defaultAdasGnssLocationEnabled
לערךfalse
.
הרצת חבילה לבדיקת רכבים (ATS)
Google מספקת בדיקה של חבילת בדיקות לרכב (ATS), שמטרתה לוודא שכל חבילות העזרה לנהגים במכשיר נכללות ברשימת ההיתרים של Google. הבדיקה מוגדרת מרחוק. אין צורך להמתין עד לפרסום הגרסה הבאה של ATS כדי להוסיף חבילה חדשה. מידע נוסף זמין במאמר Complete Automotive Tests in a Box.