web-dev-qa-db-fra.com

L'activité doit être exportée ou contenir un filtre d'intention

quand j'ai essayé d'exécuter mon application, sa montre l'erreur ci-dessous

Error running Dashboard: The activity must be exported or contain an intent-filter

Comment puis-je résoudre cette erreur?

47
Fahda.Shalhoub

J'ai changé le Select Run/Debug Configuration de ma MainActivity à App et cela a commencé à fonctionner. Sélectionnez l'instantané de configuration de l'application:

 enter image description here

115
dipesh

Vérifiez votre manifeste, votre première activité devrait avoir une balise

    <intent-filter>
        <category Android:name="Android.intent.category.LAUNCHER" />
    </intent-filter>

à l'intérieur de la balise d'activité.

Si cela ne fonctionne pas, recherchez la construction cible, située à gauche du bouton Exécuter (bouton de lecture de couleur verte), il devrait cibler le dossier "app" et non une activité particulière. si elle ne cible pas "application", cliquez dessus et choisissez "application" dans la liste déroulante.

J'espère que ça aide!

34
yfsx

Il suffit de sélectionner App dans le menu déroulant avec Exécuter (icône de lecture verte). il exécutera l'ensemble de l'application et non l'activité spécifique. si cela n’aide pas, essayez d’utiliser cette activité dans le fichier ManiFest.xml. Je vous remercie

7
Raheel Khan

il suffit d'ajouter une étiquette de filtre d'intention dans votre activité 

par exemple :: 

    <activity
        Android:name=".activityName">
        <intent-filter>
            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
6
Houssem CH

Vérifiez d'abord qu'une activité de lancement est définie dans votre fichier 'manifest.xml':

<activity Android:name=".{activityName}">
    <intent-filter>
        <action Android:name="Android.intent.action.MAIN" />
        <category Android:name="Android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Si ce paramètre est défini correctement, vérifiez ensuite que votre configuration d’exécution/de débogage est définie sur 'App',

 enter image description here

Si la configuration "App" est manquante - vous devrez l'ajouter en sélectionnant d'abord "Modifier les configurations".

 enter image description here

Si vous n'avez pas de configuration 'App', vous devrez en créer une. Sinon, sélectionnez votre configuration 'App' et ignorez les étapes de création. De plus, si votre configuration est corrompue, vous devrez peut-être la supprimer mais tout d’abord sauvegarder votre projet. Pour supprimer une configuration corrompue, sélectionnez-la en développant le nœud 'Android App' et cliquez sur le bouton '-'.

 enter image description here

Pour créer une nouvelle configuration, sélectionnez le bouton '+' et sélectionnez 'Android App'.

 enter image description here

Si vous venez de créer la configuration, la valeur par défaut «Unnamed» vous sera présentée. Le module aura la valeur «<no module>», puis cliquez sur «Apply» et «OK».

 enter image description here

Définissez ce nom sur 'App' et sélectionnez 'app' comme module.

 enter image description here

Ensuite, sélectionnez 'App' comme configuration d'exécution et cliquez sur Exécuter.

 enter image description here

C'est tout!

5

Dans manifest.xml, sélectionnez l’activité à laquelle vous voulez commencer et définissez ces informations:

    <intent-filter>
        <action Android:name="Android.intent.action.MAIN" />
        <category Android:name="Android.intent.category.LAUNCHER" />
    </intent-filter>
4
Diego Venâncio

c'est parce que vous essayez de lancer votre application à partir d'une activité qui n'est pas une activité de lanceur. essayez de l'exécuter à partir d'une activité de lancement ou de changer votre catégorie d'activité actuelle en lanceur dans le manifeste Android.

2
Ehsan.sarshar

Vérifiez votre manifeste, ouvrez le fichier avec l'extension .xml, puis toutes vos activités sont répertoriées; votre première activité devrait inclure ce code entre ses balises

<intent-filter>
    <category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>

ou il existe un autre moyen de choisir une configuration dans la liste déroulante située à gauche du bouton Exécuter, puis de choisir l'application à partir de l'application J'espère que cela vous aidera!

1
Usama Tahir

Parfois, si vous modifiez l’activité de départ, vous devez cliquer sur Modifier dans le bouton de lecture de la liste déroulante Exécuter et, dans l’application, modifier l’Activité des options de lancement comme celle que vous avez définie pour le filtre intention de LAUNCHER dans le manifeste.

0
Tony Merritt