Seu app precisa ampliar a classe CarAppService e implementar o método
onCreateSession, que retorna uma instância Session correspondente
à conexão atual com o host:
Kotlin
class HelloWorldService : CarAppService() {
...
override fun onCreateSession(): Session {
return HelloWorldSession()
}
...
}
Java
public final class HelloWorldService extends CarAppService {
...
@Override
@NonNull
public Session onCreateSession() {
return new HelloWorldSession();
}
...
}
A instância Session retorna qual instância Screen usar quando o app
é iniciado pela primeira vez:
Kotlin
class HelloWorldSession : Session() {
...
override fun onCreateScreen(intent: Intent): Screen {
return HelloWorldScreen(carContext)
}
...
}
Java
public final class HelloWorldSession extends Session {
...
@Override
@NonNull
public Screen onCreateScreen(@NonNull Intent intent) {
return new HelloWorldScreen(getCarContext());
}
...
}
Quando o app para carro precisa ser iniciado em uma tela que não seja a inicial ou
de destino, como ao processar links diretos, use
ScreenManager.push antes de retornar de onCreateScreen para
pré-buscar uma pilha de retorno de telas. A pré-busca permite que os usuários naveguem de volta para
as telas anteriores pela primeira tela exibida pelo app.