Le app IoT consentono agli utenti di eseguire azioni pertinenti sui dispositivi connessi dall'interno dell'auto. Ad esempio, controllare lo stato di determinati dispositivi, come aprire una porta del garage, azionare gli interruttori della luce di casa o attivare la sicurezza domestica.
Dichiarare il supporto delle categorie nel manifest
La tua app deve dichiarare la androidx.car.app.category.IOT
categoria di app per auto
nel filtro per intent del suo
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>
Implementare le funzionalità dell'app
Per implementare la tua app, consulta la sezione Utilizzare la libreria di app Android for Cars per scoprire come vengono create le app della libreria di app per auto. Inoltre, assicurati di leggere le norme sulla qualità delle app per auto per le app IoT, perché la tua app verrà esaminata rispetto a queste norme.
Per le app IoT, GridTemplate
è una buona scelta per visualizzare un elenco di dispositivi e consentire agli utenti
di interagire con loro, come mostrato nel seguente esempio:
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()