אפליקציות IoT מאפשרות למשתמשים לבצע פעולות רלוונטיות במכשירים מחוברים מתוך המכונית. לדוגמה, שליטה במצב של מכשירים מסוימים, כמו פתיחת דלת של מוסך, הפעלת מתגי תאורה בבית או הפעלת אבטחה בבית.
הצהרה על תמיכה בקטגוריה במניפסט
באפליקציה צריך להצהיר על androidx.car.app.category.IOT
קטגוריית אפליקציות לרכב במסנן ה-Intent של CarAppService.
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.IOT"/>
</intent-filter>
</service>
...
<application>
הטמעה של הפונקציונליות של האפליקציה
כדי להטמיע את האפליקציה, אפשר לעיין במאמר שימוש בספריית האפליקציות של Android למכוניות שמסביר איך יוצרים אפליקציות של ספריית האפליקציות למכוניות. בנוסף, חשוב לעיין בהנחיות האיכות לאפליקציות לרכב עבור אפליקציות IoT, כי האפליקציה תיבדק לפי ההנחיות האלה.
באפליקציות ל-IoT, רכיב GridTemplate
הוא בחירה מצוינת להצגת רשימה של מכשירים ולאפשר למשתמש
אינטראקציה איתם, כמו בדוגמה הבאה:
val listBuilder = ItemList.Builder() val headerBuilder = Header.Builder() val garageIcon = IconCompat.createWithResource( carContext, R.drawable.ic_garage ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage door") .setImage( CarIcon.Builder(garageIcon).build(), GridItem.IMAGE_TYPE_ICON ) .setOnClickListener { // Handle user interactions } .build() ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ) return GridTemplate.Builder() .setHeader( headerBuilder.setTitle("Devices") .setStartHeaderAction(Action.APP_ICON).build() ) .setSingleList(listBuilder.build()) .build()