ממשקי API לחומרה של רכב

החל מרמת API 3 של Car App, אפשר להשתמש בממשקי Car App Library API כדי לגשת למאפיינים ולחיישנים של הרכב.

דרישות

כדי להשתמש בממשקי ה-API עם Android Auto, צריך קודם להוסיף תלות ב-androidx.car.app:app-projected לקובץ build.gradle של מודול Android Auto. ב-Android Automotive OS, מוסיפים תלות ב-androidx.car.app:app-automotive לקובץ build.gradle של מודול Android Automotive OS.

בנוסף, בקובץ AndroidManifest.xml, אתם צריכים להצהיר על ההרשאות הרלוונטיות כדי לבקש את נתוני הרכב שבהם אתם רוצים להשתמש. המשתמש צריך גם להעניק לכם את ההרשאות האלה. אתם יכולים להשתמש באותו קוד ב-Android Auto וב-Android Automotive OS, במקום ליצור תהליכים שמותנים בפלטפורמה. עם זאת, ההרשאות הנדרשות שונות.

CarInfo

בטבלה הזו מתוארים המאפיינים שזמינים בממשקי ה-API של CarInfo וההרשאות שצריך לבקש כדי להשתמש בהם.

שיטות מאפיינים הרשאות:
Android Auto
הרשאות:
AAOS
Car App API
fetchModel יצרן, דגם, שנת ייצור android.car.permission.CAR_INFO 3
fetchEnergyProfile סוגי מחברים של רכב חשמלי, סוגי דלק com.google.android.gms.permission.CAR_FUEL android.car.permission.CAR_INFO 3
fetchExteriorDimensions

הנתונים זמינים רק בחלק מהרכבים עם AAOS מגרסה API 30 ואילך.

מידות חיצוניות לא רלוונטי android.car.permission.CAR_INFO 7

addTollListener

removeTollListener

מצב כרטיס האגרה, סוג כרטיס האגרה 3

addEnergyLevelListener

removeEnergyLevelListener

רמת הטעינה של הסוללה, רמת הדלק, רמת הדלק נמוכה, הטווח שנותר com.google.android.gms.permission.CAR_FUEL android.car.permission.CAR_ENERGY

android.car.permission.CAR_ENERGY_PORTS

android.car.permission.READ_CAR_DISPLAY_UNITS
3

addSpeedListener

removeSpeedListener

מהירות בפועל, מהירות שמוצגת (בצג לוח המחוונים של המכונית) com.google.android.gms.permission.CAR_SPEED android.car.permission.CAR_SPEED

android.car.permission.READ_CAR_DISPLAY_UNITS
3

addMileageListener

removeMileageListener

מרחק במד המרחק com.google.android.gms.permission.CAR_MILEAGE הנתונים לא זמינים לאפליקציות ל-Android Automotive OS שהותקנו מ-Google Play. 3

לדוגמה, כדי לקבל את הטווח שנותר, יוצרים מופע של אובייקט CarInfo, ואז יוצרים OnCarDataAvailableListener ורושמים אותו:

val carInfo = carContext.getCarService(CarHardwareManager::class