Apps de TV que tocam áudio podem continuar fazendo isso depois que o usuário retornar à tela inicial ou muda para outro app. Para isso, o app precisa fornecer um card Tocando agora na página inicial. tela. Com esse card, os usuários podem entender a origem do áudio e retornar ao app para controlar a reprodução de mídia.
Sempre que um usuário
MediaSession
é
presente, o framework do Android exibe um card Tocando agora na tela inicial. O cartão
inclui metadados de mídia, como a capa do álbum, o título e o ícone do app. Quando o usuário seleciona o cartão,
o sistema abre o aplicativo.
Card "Tocando agora"
Depois de implementar uma sessão de mídia, defina a para ativar e solicitar a seleção de áudio, o card Tocando agora vai aparecer.
Observação:o card Tocando agora é exibido somente para uma mídia
sessão com o
FLAG_HANDLES_TRANSPORT_CONTROLS
definida. Essa sinalização foi descontinuada no nível 26 da API. No entanto, essa sinalização ainda pode ser necessária em dispositivos mais antigos para oferecer compatibilidade com versões anteriores.
O card é removido da tela de início quando um
setActive(false)
desativa a sessão de mídia ou quando outro app inicia a reprodução. Se a reprodução for
Parado completamente e não há mídia ativa, desative a sessão de mídia
imediatamente. Se a reprodução estiver pausada, desative a sessão de mídia após um atraso.
geralmente de 5 a 30 minutos.
Atualizar o cartão
Sempre que o app atualizar o estado da reprodução no MediaSession
, o
O card Tocando agora é atualizado para mostrar o estado da mídia atual. Para aprender a fazer isso, consulte
Atualizar o estado da reprodução.
Da mesma forma, seu app pode atualizar
MediaMetadata
a fornecer
informações sobre a mídia atual no card Tocando agora, como título, subtítulo
e vários ícones. Para aprender a fazer isso, consulte
Atualizar os metadados de mídia.
Responder à ação do usuário
Quando o usuário seleciona o card Tocando agora, o sistema abre o app proprietário do
sessão. Se o seu app oferece
PendingIntent
a
setSessionActivity()
,
o sistema iniciará a atividade especificada, conforme mostrado no snippet de código a seguir. Caso contrário,
a intent padrão do sistema será aberta. A atividade especificada deve fornecer controles de mídia que
permitem que os usuários pausem ou interrompam a reprodução.
Kotlin
val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent -> PendingIntent.getActivity( context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT ) } session.setSessionActivity(pi)
Java
Intent intent = new Intent(context, MyActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT); session.setSessionActivity(pi);
Casos de uso aceitos
O card Tocando agora só deve ser usado quando o usuário espera que o áudio continue em segundo plano ao sair do app. A reprodução de vídeo ou o som de um jogo deve sempre pausar, a menos que o app esteja se integrando e em conformidade com o modo picture-in-picture.