Comment exporter une activité pour que d'autres applications puissent l'appeler?
Bien j'ai beaucoup cherché, mais je n'ai pas trouvé de réponse précise comment exporter une Activité de, donc une application peut commencer avec startActivityforResult
.
Comment puis-je y parvenir? Dois-je changer le Manifeste de plusieurs façons?
source d'informationauteur Force
Vous devez vous connecter pour publier un commentaire.
Vous devez déclarer une intention de filtre dans votre Manifeste, (j'ai pris l'exemple suivant de Scanner de code-Barres) :
Puis créer une intention avec la même chaîne d'action :
Android devrait démarrer votre activité (ou il affiche une liste déroulante s'il y a plusieurs applications partageant la même chaîne d'action).
Comme un substitut pour Dalmas de réponse, vous pouvez exporter un
Activity
sans la création d'un<intent-filter>
(avec les tracas de venir avec une action personnalisée).Dans le
Manifest
modifier votreActivity
balise comme ceci:L'important, c'est
android:exported="true"
ceexport
balise détermine "si ou pas l'activité peut être lancé par des composants d'autres applications". Si votre<activity>
contient un<intent-filter>
puis cette balise est définie àtrue
automatiquement, si elle n'est pas alors il est défini àfalse
par défaut.Alors de lancer le
Activity
ce faire:Bien sûr, avec cette méthode, vous aurez besoin de connaître le nom exact de l'Activité que vous essayez de lancer.