אפליקציות 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()