3
respostas

Erro ao executar Projeto Activity: Por que ele pede para adicionar um exported?

Manifest merger failed : android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
3 respostas

Esse elemento define se a atividade pode ser inicializada por componentes de outros aplicativos — “true” se puder ou, caso contrário, “false”. No caso de “false”, a atividade só pode ser inicializada por componentes do mesmo aplicativo ou aplicativos que tenham o mesmo código do usuário. Se estiver usando filtros de intents, esse elemento “false” não será exibido. Se fizer isso e um aplicativo tentar chamar a atividade, o sistema lançará um ActivityNotFoundException. Em vez disso, é melhor evitar que outros aplicativos chamem a atividade. Para isso, não configure filtros de intents para ela.

Caso você não tenha filtros de intents, o valor padrão para esse elemento será “false”. Se você definir o elemento “true”, a atividade ficará acessível para qualquer aplicativo que conheça o próprio nome de classe. Mas isso não resolve quando o sistema tenta corresponder a um intent implícito.

Esse atributo não é a única forma de limitar a exposição de uma atividade a outros aplicativos. Também é possível usar uma permissão para limitar as entidades externas que podem invocar a atividade

To com mesmo erro mesmo exportando não vai.

Traduzindo....

<activity android:name=".MainActivity" android:exported="true">

Resolvi desta forma.

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