Por que o botão HDR está ausente?

Respostas:

11

Eu dei uma olhada nisso agora que a fonte do Android 4.2 está fora.

Acontece que o HDR não é feito pelo próprio aplicativo da câmera, é um modo de cena que precisa ser suportado pela implementação do sistema operacional e / ou drivers.

O aplicativo da câmera removerá o botão HDR se:

  1. Você não está no nível 17 da API (Android 4.2) ou superior, ou;
  2. Camera.Parameters.getSupportedSceneModes () retorna nulo ou uma lista que não contém a cadeia "hdr"

Em resumo, o modo HDR é implementado pelo próprio driver da câmera do sistema operacional e não pode ser adicionado ao aplicativo de câmera padrão sem se aprofundar na fonte do sistema operacional. Ainda não fiz isso, mas se eu descobrir, postarei uma atualização.

Gareth Davidson
fonte
Até onde eu sei, há um tópico no XDA que explica como obter um camera.apk 4.2 vazado sendo executado em um Galaxy Nexus. Portanto, não é no driver, é algumas coisas libcamera (ver a ligada .zip no segmento para mais)
CE4
@ ce4 A aplicação da câmara é compatível com a versão 4.1, mas, como eu disse, removerá o botão HDR do ecrã se falhar nos dois testes acima. O aplicativo da câmera apenas solicita o modo HDR do sistema operacional, se disponível, não mergulhei as partes em C ++ para ver se estava no sistema operacional ou no driver, mas certamente não faz parte do aplicativo da câmera / galeria nem do Java partes do Android.
Gareth Davidson