1
resposta

CameraError - Permission Denial

Prezados.

Estou no Xamarin parte 4 - Aula 6 - CameraError, ao tentar testar a câmera o erro é apresentado no código abaixo:

Erro: Java.Lang.SecurityException: 'Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera2/com.android.camera.CaptureActivity } from ProcessRecord{7c0ebd1 9060:com.companyname.app1/u0a148} (pid=9060, uid=10148) with revoked permission android.permission.CAMERA'

public void TirarFoto()	{
            Intent intent = new Intent(MediaStore.ActionImageCapture);
            var activity = Forms.Context as Activity;
            activity.StartActivityForResult(intent, 0);
}

Alguém poderia me ajudar?

1 resposta

Olá Rafael!

Esse erro ocorre porque a permissão da câmera foi revogada. Para resolver esse problema, você precisa solicitar a permissão da câmera no seu aplicativo.

Você pode tentar resolver adicionando o seguinte código no arquivo AndroidManifest.xml do seu projeto:

<uses-permission android:name="android.permission.CAMERA" />

Além disso, você também precisa solicitar a permissão em tempo de execução. Para fazer isso, você pode usar o seguinte código:

if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) != Permission.Granted)
{
    ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera }, 0);
}

Certifique-se de adicionar essas linhas de código antes de chamar o método TirarFoto().

Espero que isso ajude! Se você tiver mais alguma dúvida, é só me dizer. Bons estudos!