Google está empenhada em fazer avançar a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

TV Input Framework

ícone Android TV HAL

A entrada de TV Android Framework (TIF) simplifica a entrega de conteúdo ao vivo para Android TV. A TIF Android fornece uma API padrão para os fabricantes para criar módulos de entrada para controlar o Android TV, e permite a pesquisa de TV ao vivo e recomendações através de metadados publicado pela entrada da TV.

O quadro não pretende implementar padrões de TV ou requisitos regionais, mas faz com que seja mais fácil para os fabricantes de dispositivos para atender aos padrões de transmissão de TV digital regionais sem re-implantação. Documentação nesta seção também pode ser útil para desenvolvedores de terceiros app que querem criar personalizados Entradas de TV.

componentes

A implementação de entrada Framework TV Android inclui um gerente de entrada TV. A TIF funciona com a TV App, um aplicativo de sistema que não pode ser substituído por um aplicativo de terceiros, para acesso interno e canais do sintonizador IP. A TV App comunica com módulos de entrada TV fornecidas pelo fabricante do dispositivo ou outras partes através do Gerenciador de entrada da TV.

A entrada de TV Framework consiste em:

  • Provedor de TV ( com.android.providers.tv.TvProvider ): um banco de dados de canais, programas e permissões associadas
  • TV App ( com.android.tv.TvActivity ): o aplicativo que a interação alças de usuário
  • TV Manager Input ( android.media.tv.TvInputManager ): permite que as entradas de TV para se comunicar com a TV App
  • TV de entrada: um aplicativo que representa sintonizadores físicos ou virtuais e portas de entrada
  • TV Input HAL ( tv_input módulo): a definição de hardware que permite que o sistema de TV entradas para hardware específico da TV acesso quando implementado
  • Controlo Parental: a tecnologia para permitir o bloqueio de canais e programas
  • HDMI-CEC: a tecnologia para permitir o controle remoto de vários dispositivos através de HDMI

Estes componentes são cobertos em detalhe abaixo. Veja o diagrama a seguir para uma visão detalhada da arquitetura de entrada Framework Android TV.

Visão geral da arquitetura TIF Android
Input Figura 1. TV Android Framework (TIF) arquitetura

Fluxo

Aqui está como a arquitetura é exercida:

  1. O usuário vê e interage com a TV App, um aplicativo de sistema que não pode ser substituído por um aplicativo de terceiros.
  2. A TV App exibe o conteúdo AV a partir da entrada da TV.
  3. A TV App não pode falar diretamente com as entradas de TV. O Gerente de entrada TV identifica o estado das entradas de TV para a TV App. Veja Gestor de entrada TV abaixo para mais detalhes sobre essas limitações.

permissões

  • Apenas signatureOrSystem TV Entradas e TV App ter pleno acesso à base de dados provedor de TV e são capazes de receber KeyEvents.
  • Único sistema de TV As entradas podem acessar o HAL entrada TV através do serviço Gerenciador de entrada da TV. TV Entradas são acessados ​​one-to-one através de sessões gerente de entrada TV.
  • Terceiros TV Entradas têm acesso bloqueado-pacote para o banco de dados provedor de TV e pode ler / escrever apenas para combinar as linhas do pacote.
  • entradas de TV de terceiros pode exibir seu próprio conteúdo ou conteúdo de entradas TV de passagem de um fabricante do dispositivo, como HDMI1. Eles não podem exibir conteúdo de entradas de TV não de passagem, como um built-in ou IPTV sintonizador.
  • TV_INPUT_HARDWARE permissão para um aplicativo de entrada TV hardware, sinaliza a entrada TV Service Manager para notificar o serviço de entrada TV na inicialização para chamar a entrada TV Service Manager e adicionar suas Entradas de TV. Esta permissão permite que um aplicativo de entrada TV hardware para suportar múltiplos Entradas de TV por serviço de entrada TV, bem como ser capaz de adicionar e remover dinamicamente suas Entradas de TV suportados.

Provedor de TV

O banco de dados provedor de TV armazena os canais e programas de Entradas TV. O provedor de TV também publica e gerencia as permissões associadas para que TV entradas podem ver apenas seus próprios registros. Por exemplo, uma entrada de TV específico pode ver apenas os canais e programas que tem fornecidos e está proibido de acessar canais e programas de quaisquer outros insumos TV.

O provedor de TV mapeia "gênero transmissão" para "gênero canônica" internamente. TV Entradas são responsáveis por preencher "gênero broadcast" com o valor no padrão de transmissão subjacente, eo campo "gênero canônica" será automaticamente preenchido com o gênero associado correto android.provider.TvContract.Genres . Por exemplo, com padrão de transmissão ATSC A / 65 e programa com gênero 0x25 (que significa “Sports”), a entrada TV vai preencher o “gênero broadcast” com a String “Sports” e provedor de TV irá preencher o campo “gênero canônica” com os valores mapeados android.provider.TvContract.Genres.SPORTS .

Consulte o diagrama abaixo para uma visão detalhada do Provedor de TV.

Provedor de TV Android
Provider Figura 2. Android TV

Apenas aplicações na partição de sistema privilegiado pode ler todo o banco de dados de Provedor de TV.

entradas TV de passagem não armazenar canais e programas.

Além dos campos padrão para canais e programas, o banco de dados provedor de TV também oferece um campo de tipo BLOB, COLUMN_INTERNAL_PROVIDER_DATA , em cada tabela que TV As entradas podem usar para armazenar dados arbitrários. Que os dados de GOTA pode incluir informação personalizada, tal como a frequência do sintonizador associado, e podem ser proporcionadas em um tampão de protocolo ou outra forma. Um campo pesquisável está disponível para fazer determinados canais indisponíveis na pesquisa (como a requisitos específicos do país se encontram para proteção de conteúdo).

exemplos de campo de banco de dados

Os suportes provedor de TV, os dados estruturados em canal ( android.provider.TvContract.Channels ) e (programa android.provider.TvContract.Programs ) Mesas. Essas tabelas são preenchidos e acessado por TV Entradas e aplicativos do sistema, como a TV App. Estas tabelas têm quatro tipos de campos:

  • Display: campos de exibição contêm informações que os aplicativos podem querer tornar visível para o usuário, como o nome de um canal ( COLUMN_DISPLAY_NAME ) ou número ( COLUMN_DISPLAY_NUMBER ), ou o título do programa que está sendo visualizado.
  • Metadados: Existem três campos para identificar o conteúdo, de acordo com as normas pertinentes, como o ID de um canal de fluxo de transporte ( COLUMN_TRANSPORT_STREAM_ID ), originais ID de rede ( COLUMN_ORIGINAL_NETWORK_ID ) e ID de serviço ( COLUMN_SERVICE_ID ).
  • Dados internos: Campos que são para o uso personalizado de Entradas TV.
    Alguns campos, como COLUMN_INTERNAL_PROVIDER_DATA , são campos BLOB personalizáveis, onde uma entrada de TV pode armazenar metadados arbitrária sobre seu canal ou programa.
  • Bandeira: Campos bandeira representam se um canal deve ser restrito de busca, navegação, ou visualização. Este pode ser definido apenas no nível do canal. Todos os programas de adiar para a definição no canal.
    • COLUMN_SEARCHABLE : Restringir busca de alguns canais pode ser um requisito em determinadas regiões. COLUMN_SEARCHABLE = 0 significa que o canal não devem ser expostas nos resultados da pesquisa.
    • COLUMN_BROWSABLE : Visível para apenas aplicativos do sistema. Restringindo o canal que está sendo pesquisado por aplicações. COLUMN_BROWSABLE = 0 significa que o canal não deve ser incluído na lista de canais.
    • COLUMN_LOCKED : Visível para apenas aplicativos do sistema. Restringir o canal de serem visualizados por contas inválidas sem inserir o código PIN. COLUMN_LOCKED = 1 significa que o canal deve ser protegidas por controlo parental.

Para uma lista mais exaustiva dos campos, consulte android/frameworks/base/media/java/android/media/tv/TvContract.java

Permissões e controle de acesso

Todos os campos são visíveis para qualquer pessoa com acesso à linha correspondente. Nenhum campo estão directamente acessíveis aos utilizadores; eles vêem apenas o que a TV App, Sistema de aplicativos ou superfície Entradas de TV.

  • Cada linha tem PACKAGE_NAME , o pacote (app) que possui nessa linha, verificado na consulta, INSERT, UPDATE via TvProvider.java. A entrada da TV pode acessar somente as informações que escreveu e é isolada a partir das informações fornecidas por outras entradas de TV.
  • LEIA, permissões de gravação via AndroidManifest.xml (requer o consentimento do usuário) para determinar os canais disponíveis.
  • Somente signatureOrSystem aplicativos podem adquirir ACCESS_ALL_EPG_DATA permissão para acessar banco de dados inteiro.

TV Manager Input

O Gerente de entrada TV fornece uma API do sistema central para o geral TV Android Input Framework. Ele arbitra interação entre aplicativos e entradas TV e fornece a funcionalidade de controlo parental. sessões de TV Input Manager deve ser criado um-para-um com entradas de TV. O Gerente de entrada TV permite o acesso a entradas de TV instalados de modo aplicativos pode:

  • Lista de TV entradas e verificar o seu estado
  • Criar sessões e gerenciar ouvintes

Para as sessões, uma entrada de TV pode ser sintonizada pela TV App apenas para URIs que tenha adicionado ao banco de dados de Provedor de TV, exceto para Entradas de TV de passagem que pode ser ajustado para usar TvContract.buildChannelUriForPassthroughInput() . A entrada TV também pode ter o seu conjunto de volume. Entradas de televisão fornecidos e assinados pelo fabricante do dispositivo (aplicativos de assinatura) ou outros aplicativos instalados na partição do sistema terá acesso a toda a base de dados de Provedor de TV. Este acesso pode ser usado para aplicativos construir navegar e pesquisar em todos os canais e programas de TV disponíveis.

Um aplicativo pode criar e registrar um TvInputCallback com o android.media.tv.TvInputManager a ser chamado de volta na mudança de estado de uma entrada de TV ou na adição ou remoção de uma entrada de TV. Por exemplo, uma TV App pode reagir quando uma entrada de TV está desligado, exibindo-o como desconectado e impedindo a sua selecção.

O Gerente de entrada TV abstrai a comunicação entre a TV App e Insumos TV. A interface padrão do Gestor de entrada TV e entrada TV permite que vários fabricantes de dispositivos para criar sua própria TV Apps ao mesmo tempo ajudar todos de terceiros Entradas TV trabalho em todas as TV Apps.

Entradas de TV

TV Entradas são aplicativos Android no sentido eles têm um AndroidManifest.xml e são instalados (via Play, pré-instalado, ou sideloaded). suportes de TV Android pré-instalado aplicativos do sistema, aplicativos assinado pelo fabricante do dispositivo e de terceiros Entradas de TV.

Algumas entradas, como a entrada HDMI ou built-in sintonizador de entrada, só podem ser fornecidos pelo fabricante como eles falam diretamente com o hardware subjacente. Outros, como IPTV, local-shifting e STB externo, podem ser fornecidos por terceiros como APKs no Google Play Store. Depois de baixado e instalado, a nova entrada pode ser selecionado dentro da TV App.

exemplo entrada de passagem

Entrada Android Sistema de TV
Input Figura 3. Android Sistema de TV

Neste exemplo, a entrada de TV fornecido pelo fabricante do dispositivo é confiável e tem acesso total ao Provedor de TV. Como uma entrada de TV de passagem, não registar quaisquer canais ou programas com o provedor de TV. Para obter o URI usado para fazer referência a entrada de passagem, utilizar o android.media.tv.TvContract método utilidade buildChannelUriForPassthroughInput(String inputId) . A TV App comunica com o Gerente de entrada da TV para chegar à entrada HDMI TV.

Embutido exemplo sintonizador

Android TV Built-in sintonizador de entrada
Figura 4. TV Android Built-in sintonizador de entrada

Neste exemplo, a entrada Built-in sintonizador de TV fornecido pelo fabricante do dispositivo é confiável e tem acesso total ao Provedor de TV.

exemplo de entrada de terceiros

entrada de terceiros Android TV
Figura 5. TV Android de entrada de terceiros

Neste exemplo, a entrada STB TV externo é fornecido por um terceiro. Desde que a entrada TV não pode acessar diretamente a alimentação de vídeo HDMI entrando, ele deve passar pela entrada Gestor de TV e utilizar a entrada HDMI TV fornecido pelo fabricante do dispositivo.

Por meio do Gerenciador de entrada TV, a entrada STB TV externo pode falar com a entrada HDMI TV e pedir-lhe para mostrar o vídeo no HDMI1. Assim, a entrada STB TV pode controlar a TV enquanto a entrada HDMI TV fornecido pelo fabricante torna o vídeo.

Picture in Picture (PIP) exemplo

KeyEvents Android TV
KeyEvents Figura 6. TV Android

O diagrama acima mostra como botões em um controle remoto são passados ​​para uma entrada de TV específico para picture in picture (PIP) display. Esses pressiona o botão são interpretados pelo driver de hardware fornecido pelo fabricante do dispositivo, convertendo scancodes hardware para keycodes Android e passá-los para os Android padrão entrada do pipeline InputReader e InputDispatcher funções como KeyEvents . Estes, por eventos de disparo ligar a TV App se ele está em foco.

Único sistema de TV Entradas são elegíveis para receber InputEvents , e somente se eles têm o RECEIVE_INPUT_EVENT permissão sistema. A entrada de TV é responsável por determinar qual InputEvents para consumir e deve permitir que a TV App para lidar com as chaves não precisam consumir.

A TV App é responsável por saber qual a entrada TV sistema está ativo, significando selecionado pelo usuário, e para disambiguate recebidas KeyEvents e encaminhá-los para a sessão correta Gestor de entrada TV, chamando dispatchInputEvent() para passar o evento para a entrada de TV associada .

MHEG-5 exemplo de entrada

O diagrama a seguir mostra uma vista mais detalhada de como KeyEvents são encaminhadas através da TIF Android.

exemplo botão Android TV Vermelho
Figura exemplo botão 7. Android TV Vermelho

Descreve o fluxo de um aplicativo Botão vermelho, comum na Europa para permitir que os usuários acessar aplicativos interativos em seus televisores. Um aplicativo pode ser entregue ao longo deste fluxo de transporte. Quando o botão é clicado, ele permite que os usuários interagem com esses aplicativos de transmissão. Por exemplo, você pode usar esses aplicativos de transmissão de acesso relacionado páginas web ou placares esportivos.

Consulte a seção aplicativo Broadcast para aprender transmissão aplicativos interagir com a TV App.

Neste exemplo:

  1. A TV App está em foco e recebe todas as chaves.
  2. KeyEvents (por exemplo, o botão vermelho) é passado para a entrada TV ativo como InputEvents.
  3. Os integra entrada de TV sistema com MHEG-5 pilha e tem a RECEIVE_INPUT_EVENT permissão sistema.
  4. Ao receber código de acesso de ativação (por exemplo, o botão vermelho), a entrada de TV ativa aplicativo broadcast.
  5. Entrada de TV consome KeyEvents como InputEvents eo app de transmissão é o foco e alças InputEvents até serem dispensados.

Nota: As entradas de TV de terceiros nunca recebem chaves.

TV HAL Input

O HAL entrada TV auxilia desenvolvimento de Entradas TV para hardware específico da TV acesso. Tal como acontece com outros HALs Android, o HAL entrada TV ( tv_input ) está disponível na árvore fonte AOSP e o fornecedor desenvolve a sua implementação.

TV App

O sistema de TV App apresenta conteúdo de TV ao vivo para o usuário. Uma referência TV App (Live TV) é fornecido juntamente com a plataforma Android, que pode ser usado como está, personalizado, estendida ou substituído por fabricantes de dispositivos. O código fonte está disponível no Projeto de Código Aberto Android, e você pode começar com ele na TV app Referência artigo.

fabricantes de dispositivos podem estender seus aplicativos de TV para implementar recursos fabricante do dispositivo ou específicas do país, no entanto isso não é no âmbito da TIF ou a referência TV App.

No mínimo, o sistema de TV App precisa lidar com as seguintes tarefas:

Instalação e configuração

  • Auto-detectar Entradas de TV
  • Deixe TV Entradas iniciar a configuração de canais
  • Controlar as configurações dos pais
  • canais Editar

Visualizando

  • Acessar e navegar todos os canais de TV
  • Acesso TV barra de informações do programa
  • Exibir guia electrónico de programação de dados (EPG)
  • Suportar múltiplas faixas de áudio e legendas
  • Fornecimento desafio PIN controlo parental
  • Permitir sobreposição UI entrada de TV para padrão de TV (HbbTV, etc.)
  • os resultados de pesquisa Preencher para canais de TV e programas
  • Exibição aplicativo que liga cartões
  • APIs suporte de time shift
  • Lidar com funcionalidade e suporte APIs de gravação de TV DVR

Esse conjunto de recursos aumentam em linha com as novas versões do Android, onde as APIs plataforma TIF são estendidos. CTS Verificador fornece a cobertura teste de compatibilidade.

Suporte para TV de terceiros Entradas

TV Android fornece APIs para desenvolvedores para as entradas de terceiros de TV, permitindo que aplicativos instalados para fornecer canais de software para a experiência de TV ao vivo. Para garantir uma implementação dispositivo Android compatível, o sistema de TV App tem algumas responsabilidades em relação à tona entradas TV de terceiros e canais para o usuário. A referência aplicativo TV Live fornece uma implementação compatível; se a substituição do sistema de TV App, fabricantes de dispositivos deve garantir seus próprios aplicativos fornecer compatibilidade semelhante, para dar resposta às expectativas de desenvolvedores de todos os dispositivos Android TV.

O sistema de TV App deve superfície entradas de terceiros juntamente com o serviço de TV ao vivo padrão do dispositivo. A promessa das APIs para desenvolvedores é que os usuários serão capazes de encontrar canais (uma vez instalado) dentro de sua experiência de TV padrão.

diferenciação visual entre built-in canais e canais de terceiros é permitida, conforme definido na seção TV App do CDD Android.

As seções a seguir mostram como a aplicação TV Live cumpre os requisitos de CDD.

configuração novo canal

A adição de novos de terceiros entradas / canais começa com o usuário encontrar e instalar uma entrada de TV de uma loja de aplicativos, como o Google Play.

Algumas entradas de TV de terceiros adicionar automaticamente canais para o banco de dados TvProvider. Entretanto, a maioria irá fornecer uma atividade de configuração para permitir que o usuário configurar seus canais, fornecer detalhes de login e outras ações. O sistema de TV App precisa garantir que o usuário pode ativar esta atividade de configuração, que é por isso que o CDD requer entradas de terceiros ser mínimas ações de navegação de distância da principal TV App.

A referência aplicativo TV Live oferece o menu Canal Fontes para acessar insumos.

Vá para as configurações
Figura 8. Vão para configurações.

Ir para a origem do canal em Configurações
Figura 9. Ir para fontes de canal nas Definições.

Selecione a fonte da lista.
Figura 10. Selecione a fonte da lista.

Adicionar canais de sua fonte
Figura 11. Adicione canais de sua fonte.

Além disso, um cartão de notificação é mostrado na parte superior do menu TV App após uma nova TvInput está instalado, para levar o usuário diretamente para a configuração:

Notificação que mostra novas fontes de canal estão disponíveis.
Figura 12. Notificação que mostra novas fontes de canais estão disponíveis.

Se o usuário entra em ação através da notificação, eles podem escolher para configurar suas fontes, como visto na Figura 10.

Veja Defina seu TV serviço de entrada para as expectativas de desenvolvedores nesta área.

Personalize a lista de canais

fabricantes de dispositivos podem fornecer uma interface de usuário para ocultar determinados canais e permitir que os usuários gerenciem seus próprios EPGs. Live TV inclui esta facilidade.

Abra a lista de canais em Configurações.
Figura 13. Abrir a lista de canais nas Definições.

Personalize sua lista de canais.
Figura 14. Personalizar sua lista de canais.

EPG

desenvolvedores de entrada de terceiros precisa ter confiança que os usuários podem facilmente navegar para seus canais durante o uso geral, em todos os dispositivos de TV Android compatíveis.

Canais de entradas de terceiros deve ser apresentada como parte da experiência ao vivo padrão do dispositivo TV EPG. separação visual ou categorias separadas para os canais de terceiros podem ser usados ​​(consulte a seção TV App do CDD Android) chave de -o que é que os usuários são capazes de encontrar os canais que tenham instalado.

Os fabricantes devem implementar a TV App para incluir resultados de pesquisa para solicitações de pesquisa globais, a fim de garantir a melhor experiência do usuário. Live TV fornece uma implementação (ver com.android.tv.search.TvProviderSearch ), que fornece resultados de entradas de terceiros (necessário para compatibilidade com a plataforma), bem como entradas de built-in.

shifting tempo

Para dispositivos no Android 6.0 e acima, a TV App deve apoiar o quadro Android tempo de deslocamento APIs . Além disso, os fabricantes devem implementar controles de reprodução na TV App, que permitem que os usuários para fazer uma pausa, currículo, retroceder e avançar rapidamente a reprodução.

Para entradas de TV que o tempo de suporte mudando, a TV App precisa de controles de reprodução de exibição.

Os controles de reprodução
Controlos Figura 15. Reprodução

DVR

Para dispositivos no Android 7.0 e superior, a TV App deve suportar os Android quadro APIs de gravação de TV , de apoio, lista e reproduzir programas gravados.

Isso permite que os fabricantes de dispositivos para conectar seus subsistemas DVR em TIF e reduzir drasticamente o esforço de integração que leva para ativar ou integrar a funcionalidade de DVR em um dispositivo de TV. Ele também permite que terceiros para fornecer aftermarket sistemas de DVR que pode ser conectado a um dispositivo Android TV.

Além de gravar conteúdo ao vivo, a TV App também lida com conflitos de recursos. Por exemplo, se o dispositivo tem dois sintonizadores, pode gravar dois programas ao mesmo tempo. Se o usuário pede para gravar três, a TV App deve lidar com o conflito e deve tanto à tona uma notificação ou pedido para que os horários usuário uma prioridade para essas solicitações.

TV Apps também pode implementar uma lógica mais sofisticada como pedir a um usuário se eles gostariam de gravar todos os episódios futuros em uma série quando eles solicitam para gravar um episódio.

Veja o diagrama a seguir para uma visão em uma possível implementação DVR na TV Android.

gravação de vídeo digital no Android TV
Gravação de vídeo Figura 16. Digital na TV Android

  1. O serviço de entrada de TV diz a TV App quantos afinadores estão disponíveis para que a TV App pode lidar com possíveis conflitos de recursos.
  2. A TV App recebe uma solicitação iniciada pelo usuário para gravar um programa de TV.
  3. A TV App armazena a agenda de gravação em seu banco de dados interno.
  4. Quando é hora de registro, a TV App passa um pedido para sintonizar o canal associado com a gravação.
  5. O serviço de entrada de TV recebe este pedido, responde com se ou não existem recursos apropriados, e melodias para o canal.
  6. Em seguida, a TV App passa um pedido para iniciar a gravação para o Gestor de entrada TV.
  7. A entrada de TV Service recebe este pedido e inicia a gravação.
  8. A entrada de TV Service armazena os dados de vídeo reais em seu armazenamento, que pode ser de armazenamento externo ou armazenamento em nuvem.
  9. Quando é hora de terminar a gravação, a TV App passa o pedido de parar a gravação para o Gerenciador de entrada da TV.
  10. Uma vez que a entrada TV Service recebe a solicitação, ele pára a gravação e adiciona seus metadados associados ao Provedor de TV para que o TV App pode mostrar a gravação para os usuários quando solicitado.

Para mais informações sobre a implementação de Gravação apresenta em seu serviço de entrada TV, consulte este TV Recording artigo.

recursos úteis

  • O CDD Android e APIs para desenvolvedores documentados são as referências definitivas.
  • CTS Verificador exerce as APIs como parte do programa de testes de compatibilidade. A execução deste contra Live TV pode ser uma maneira útil para ver o EPG, Pesquisa, Parental Control, e outros requisitos no contexto de entradas de terceiros.
  • Veja Defina seu TV serviço de entrada para as expectativas de desenvolvedores nesta área.

Controle dos pais

O controlo parental permite que um bloco de usuário canais e programas indesejados, mas ignorar o bloco, inserindo um código PIN.

A responsabilidade pela funcionalidade de controlo parental é compartilhado entre a TV App, serviço de entrada TV Manager, Provedor de TV, e entrada da TV.

O controlo parental é obrigatória, e é coberto por CTS Verificador.

Um número de países definiram sistemas de classificação que TV entradas podem utilizar através da API TVContentRating . Além disso, TV entradas podem registrar seus próprios sistemas de classificação personalizada como demonstrado pelo teste CTS Verificador, que introduz uma classificação de 'falsos'. Para os países onde existe um sistema de classificação padrão, fabricantes de dispositivos são encorajados a combinar a entrada TV Quadro de Controlo Parental com quaisquer outros mecanismos que podem incluir.

Provedor de TV

Cada linha tem um canal COLUMN_LOCKED campo que é usada para os canais de bloqueio específicos de visualização sem introduzir um código de PIN. O campo programa COLUMN_CONTENT_RATING é destinado para exibição e não é usado para reforçar o controle dos pais.

TV Manager Input

Os Manager armazena de entrada TV cada bloqueado TvContentRating e responde a isRatingBlocked() para informar se contentar com a classificação dada deve ser bloqueado.

Entrada de TV

As verificações de entrada TV se o conteúdo atual devem ser bloqueados pelo telefone isRatingBlocked() no Gerenciador de entrada TV quando a classificação do conteúdo exibido mudou (no programa ou mudança de canal), ou definições de controlo parental mudaram (em ACTION_BLOCKED_RATINGS_CHANGED e ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . Se o conteúdo deve ser bloqueado, a entrada TV desativa o áudio e vídeo e notifica o aplicativo de TV que o actual conteúdo é bloqueado pelo telefone notifyContentBlocked(TvContentRating) . Se o conteúdo não deve ser bloqueado, a entrada TV permite vídeo e notifica o TV App o conteúdo atual é permitido chamando de áudio e notifyContentAllowed() .

TV App

Para honrar as APIs de controlo parental e, portanto, criar uma plataforma compatível, o sistema de TV App precisa fornecer uma maneira para os usuários a gerenciar o controle dos pais, inclusive para quaisquer avaliações personalizadas registadas pelas aplicações específicas.

A TV App mostra um código PIN UI quando é notificado por uma entrada de TV que o actual conteúdo é bloqueado ou quando as tentativas do usuário para ver um canal bloqueado.

Será que a TV App não armazenar directamente as definições de controlo parental. Quando o usuário altera as configurações de controle parental, cada bloqueado TvContentRating é armazenado pela entrada Gestor de TV, e canais bloqueados são armazenados pelo fornecedor de TV.

A TV App precisa declarar a permissão android.permission.MODIFY_PARENTAL_CONTROLS , a fim de alterar as definições de controlo parental.

fabricantes de dispositivos são incentivados a:

  • Exercer o teste de controlos parentais CTS Verificador contra a aplicação TV referência ao vivo para uma demonstração dos requisitos de compatibilidade.
  • Use o aplicativo de TV ao vivo como referência para a sua própria TV App: em particular, ver a ContentRatingsManager e RatingSystemsFragment fonte, e como eles lidam com avaliações personalizadas.

HDMI-CEC

HDMI-CEC permite que um dispositivo para controlar o outro, permitindo assim que um único controle remoto para controlar vários aparelhos em um home theater. É usado por TV Android para configurar velocidade e permitir o controle distante sobre várias entradas de TV via central TV App. Por exemplo, pode mudar insumos, poder-se ou dispositivos para baixo, e muito mais.

O implementos TIF Android HDMI-CEC como o Serviço de Controle de HDMI para que os fabricantes de dispositivos precisam apenas desenvolver drivers de baixo nível que mais complexo interagem com o leve Android TV HAL, ignorando a lógica de negócios. Ao fornecer uma implementação padrão, Android procura mitigar problemas de compatibilidade, reduzindo implementações fragmentado e suporte a recursos seletiva. O Serviço de Controlo HDMI utiliza os serviços Android existentes, incluindo entrada e poder.

Isto significa implementações HDMI-CEC existentes terão de ser redesenhado para interoperar com o TIF Android. Recomendamos a plataforma de hardware contêm um microprocessador para receber o poder CEC on e outros comandos.

integração CEC na TV Android
Figura 17. integração CEC na TV Android

  1. O ônibus CEC recebe um comando da fonte ativa no momento para mudar para uma fonte diferente.
  2. O motorista passa o comando para o HDMI-CEC HAL.
  3. O HAL notifica todos os ActiveSourceChangeListeners .
  4. O serviço de controle HDMI é notificado da mudança fonte via ActiveSourceChangeListener .
  5. O serviço Gerenciador de entrada TV gera uma intenção para a TV App para mudar a fonte.
  6. A TV App cria uma entrada de TV Session Manager para o ser Input TV mudou para e chamadas setMain naquela sessão.
  7. A entrada de TV Session Manager passa essa informação para a entrada HDMI TV.
  8. Os pedidos de entrada HDMI TV para ajustar faixa lateral superfície.
  9. A entrada de TV Service Manager gera um comando de roteamento de volta o controle correspondente ao Serviço de Controle de HDMI quando a superfície está definido.

diretrizes de integração de TV

aplicativo de transmissão

Porque cada país tem requisitos específicos de radiodifusão (MHEG, teletexto, HbbTV, e mais), são esperados fabricantes para fornecer as suas próprias soluções para o aplicativo de transmissão, por exemplo:

  • MHEG: pilha nativa
  • Teletexto: pilha nativa
  • solução HbbTV de Vewd Software: HbbTV

Na versão L Android, Android TV espera que os fabricantes de dispositivos para integradores de sistemas de uso ou as soluções do Android para pilhas de TV regionais, passam a superfície de pilhas de software TV, ou passar o código da chave necessária para interagir com pilhas legados.

Veja como o aplicativo de radiodifusão e TV App interagir:

  1. A TV App está em foco, recebendo todas as chaves.
  2. A TV App passa chaves (por exemplo, botão vermelho) para o dispositivo de entrada TV.
  3. O dispositivo de entrada TV integra internamente com a pilha legado TV.
  4. Ao receber um código de acesso de ativação (por exemplo, o botão vermelho), o dispositivo de entrada TV ativa aplicativos de transmissão.
  5. Um aplicativo de transmissão leva foco na TV App e lida com as ações do usuário.

Para a busca de voz / recomendação, o aplicativo transmissão pode apoiar a pesquisa In-app para busca por voz.