Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvida no uso da Camera - Xamarin Android

Olá Pessoal,

Estou em dúvida com relação ao uso da câmera no Xamarin. Estou tentando desenvolver uma aplicação que tira fotos automaticamente sem a necessidade de abrir o aplicativo de câmera padrão do android. É possível fazer isso com o Xamarin, pois até o momento em todos os tutoriais e dicas que encontrei na internet da mostram apenas a opção de clicar em um botão e abriar a camera padão do android. Desde já agradeço a quem puder ajudar.

6 respostas

Olá, Wesley

Isso não é possível, por uma questão de segurança. Imagine que alguém desenvolva um aplicativo popular (como um jogo) e dentro dele exista uma funcionalidade desconhecida que tira fotos, sem flash e sem abrir o app da câmera, e em seguida envia essas fotos para um servidor. Dessa forma, seria muito fácil para aplicativos maliciosos espionarem a vida dos usuários, sem que eles soubessem. Seria um escândalo de segurança e privacidade e tanto o Android quanto o Google seriam responsabilizados por essas brechas de segurança. Por isso, todo app precisa declarar que utiliza a câmera. Isto é, o usuário deve aceitar essa funcionalidade antes de instalar o app. E quando ele usa o app da câmera, isso é feito através de "activities", que são a forma de comunicação entre aplicativos. Por isso, o acesso à câmera física de um dispositivo Android é um privilégio do App Camera.

Olá Marcelo, Obrigado pela sua resposta. Eu entendi o motivo de não ser possível a utilização da câmera desta forma. No meu caso, estou desenvolvendo um aplicativo que identifica placas de veículos utilizando o Google Vision, a ideia de usar a câmera desta forma, sem passar pelo aplicativo padrão, seria para assim que o aplicativo identificasse uma placa ele salvasse um foto da mesma, mas acho que vou ter que me contentar com apenas a identificação. Agradeço novamente sua resposta.

Ah, agora ficou mais claro! Mas com certeza esse app não seria o primeiro desse tipo na loja do Android, certo? Pra não "dar um tiro no escuro", você poderia dar uma olhada na loja, baixar e investigar alguns aplicativos similares e tentar entender como eles se comunicam com a câmera. Aí você pode ter uma ideia melhor das funcionalidades envolvidas nesse tipo de aplicativo.

solução!

Wesley, você pode baixar este exemplo de app:

https://developer.xamarin.com/samples/monodroid/android5.0/Camera2Basic/

Ele utiliza um controle chamado CameraView, que é uma controle com uma região da tela para exibir a imagem da câmera. A partir dela, você pode executar suas funções de reconhecimento de placas.

Note que o aplicativo do Whatsapp Web também faz isso: Quando você entra pela primeira vez num notebook com o Whatsapp, por exemplo, ele pede pra ler um código QR Code. Esse código precisa ser lido pelo app do Whatsapp no Android. Quando você clica no botão "+" do app, ele abre uma janela e fica escaneando ativamente a tela exibida pela câmera, até reconhecer o QR Code. Você pode investigar uma maneira de fazer o mesmo no seu app:

Marcelo, muito obrigado pelos exemplos, vou estuda-los e ver a melhor forma de implementar no meu projeto.

Eu que agradeço, Wesley. Boa sorte com seu novo app! Qualquer dúvida, estamos aí.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software