Para criar um AppCard, um app precisa criar um provedor no manifesto que estenda
AppCardContentProvider. O AppCardContentProvider abstrai os detalhes
subjacentes para facilitar a criação de AppCards.
Declaração do manifesto
Para criar um AppCard, um app precisa criar um provedor no manifesto para estender
AppCardContentProvider.
<provider android:name=".SimpleAppCardContentProvider"
android:authorities="com.example.appcard.sample.media"
android:permission="@string/host_permission"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="com.android.car.appcard.APP_CARD_PROVIDER" />
</intent-filter>
</provider>
Só é possível definir um provedor por pacote e com estas propriedades:
android:exported="true"android:enabled="true"android:permission="@string/host_permission"OU
android:readPermission="@string/host_permission"E
android:writePermission="@string/host_permission"
@string/host_permissionexiste na biblioteca AppCard e define uma permissão dependendo da versão da API Android do sistema.Usar o recurso de string só funciona ao criar com o Gradle. Ao usar Soong, especifique a string explícita com o valor do recurso de string de acordo com o qualificador de recurso apropriado.
(padrão)
android:grantUriPermissions="false"(padrão)
android:forceUriPermissions="false"Para evitar resultados inesperados, é necessário que o provedor defina uma única autoridade apenas em
android:authorities.Declare um filtro de intent baseado em ação,
com.android.car.appcard.APP_CARD_PROVIDER
Estender AppCardContentProvider
Esta seção descreve os métodos finais override e protected.
Modificar métodos
val authority: Stringandroid:authorities do manifesto.fun onCreate(): Booleansuper.onCreate(). Use esse
método para configurar funcionalidades que podem causar um atraso se forem definidas
quando um AppCard é solicitado.val appCardIds: Listfun onAppCardAdded(String, AppCardContext): AppCardAppCardContext que fornece
dicas sobre como o AppCard é exibido.
Use esse método para configurar qualquer funcionalidade exigida pelos AppCards compatíveis como um provedor. Depois que essa função é chamada, o AppCard que corresponde ao ID fornecido é considerado ativo.
fun onAppCardRemoved(String)fun onAppCardContextChanged(String, AppCardContext)AppCardContext atualizado.Métodos finais protegidos
fun sendAppCardUpdate(AppCard)fun sendAppCardComponentUpdate(String, Component)EnforceFastUpdateRate, a atualização será enviada imediatamente.Perguntas frequentes
Onde estão os exemplos de implementação?