📅  最后修改于: 2023-12-03 15:33:48.068000             🧑  作者: Mango
Dans le développement d'applications Android, il est souvent nécessaire d'accéder à la liste des instants de partage disponibles sur le périphérique pour permettre aux utilisateurs de partager du contenu avec d'autres applications. Dans ce guide, nous explorerons comment accéder à cette liste en Java.
Pour accéder à la liste des instants de partage, nous pouvons utiliser le gestionnaire de partage de l'API Android. Le gestionnaire de partage est un composant système qui permet aux applications de partager du contenu avec d'autres applications. Pour utiliser le gestionnaire de partage, nous devons créer une instance de la classe Intent
et utiliser la méthode createChooser
pour afficher la liste des instants de partage disponibles.
Voici un exemple de code qui montre comment utiliser le gestionnaire de partage pour partager le contenu d'un fichier texte:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Contenu du fichier");
sendIntent.setType("text/plain");
Intent shareIntent = Intent.createChooser(sendIntent, null);
startActivity(shareIntent);
Dans ce code, nous créons une instance de la classe Intent
avec l'action ACTION_SEND
pour partager le contenu du fichier texte. Nous utilisons la méthode putExtra
pour spécifier le contenu à partager et setType
pour spécifier le type de contenu (texte brut dans ce cas).
Ensuite, nous utilisons la méthode createChooser
pour créer une instance du gestionnaire de partage et afficher la liste des instants de partage disponibles. La méthode createChooser
prend deux arguments: l'Intent
d'envoi et un titre facultatif pour la boîte de dialogue. Si le titre est null
, la boîte de dialogue affiche le titre par défaut "Partager avec".
Enfin, nous appelons la méthode startActivity
pour démarrer l'activité de partage.
Si nous voulons accéder à la liste des instants de partage sans partager de contenu, nous pouvons utiliser la méthode getTargetActivities
de la classe PackageManager
. Cette méthode renvoie une liste d'activités qui peuvent recevoir des intensions avec l'action ACTION_SEND
.
Voici un exemple de code qui montre comment accéder à la liste des instants de partage:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(shareIntent, 0);
for (ResolveInfo info : activities) {
Log.d(TAG, "Activity name:" + info.activityInfo.name);
}
Dans ce code, nous créons une instance de la classe Intent
avec l'action ACTION_SEND
pour afficher les activités qui peuvent recevoir des intensions avec cette action. Nous utilisons la méthode queryIntentActivities
de l'objet PackageManager
pour obtenir une liste de ResolveInfo
qui contient des informations sur les activités qui peuvent recevoir l'intention.
Nous parcourons ensuite la liste des activités et imprimons le nom des activités dans la console.
Dans ce guide, nous avons exploré la façon d'accéder à la liste des instants de partage disponibles sur un périphérique Android en utilisant Java. En utilisant le gestionnaire de partage et la méthode getTargetActivities
du PackageManager
, nous avons pu partager du contenu et accéder à la liste des applications disponibles pour recevoir des intensions avec l'action ACTION_SEND
.