1 votes

(Android) Lancer des raccourcis d'activités d'applications à partir de la ligne de commande ?

J'aimerais savoir comment il serait possible de lancer un "raccourci" d'action (comme le raccourci d'auto-hibernation de Greenify) via la ligne de commande dans Android.

J'essaie de lancer un profil VPN StrongSwan au démarrage, mais j'ai d'abord besoin de savoir quelle commande le lanceur lui envoie, par exemple, lorsqu'il lance le profil depuis l'écran d'accueil.

Jusqu'à présent, ce que j'ai réussi à observer est que lorsque je lance SS avec ce raccourci, le logcat dit :

START u0 {act=org.strongswan.android.action.START_PROFILE flg=0x10000000 cmp=org.strongswan.android/.ui.MainActivity bnds=[360,1759][540,1920] (has extras)} from uid 10077 on display 0 

Des idées sur la façon de le transformer en entrée de commande ? Merci d'avance !

1 votes

Y a-t-il une bonne raison pour laquelle vous ne voulez qu'une solution en ligne de commande ? Le profil peut être lancé à l'aide d'une autre application.

0 votes

Techniquement, il n'est pas nécessaire que ce soit une solution CLI, mais je suppose que ce serait plus facile. J'ai cherché des applications qui pourraient faire cette chose EXACTE, mais je n'en ai trouvé aucune. La plupart d'entre elles, par exemple Tasker, ne peuvent lancer que des activités spécifiques, mais il semble nécessaire de fournir certaines données spécifiques pour que le profil soit lancé. Existe-t-il une application qui pourrait faire cela ? Ou extraire/intercepter la commande qui est exécutée chaque fois que j'appuie sur le raccourci (étiqueté "Connecter à (nom du serveur)" dans mon lanceur, par exemple ?

2voto

Firelord Points 23064

En cherchant un intercepteur d'intention, je suis tombé sur IntentTask ce qui est utile pour votre objectif. J'ai installé Tasker, cette application, configurer une tâche avec une action :

Plugin → IntentTask → Lancement du raccourci → Configuration : appuyez sur l'icône du crayon → votre application → le profil.

L'intention s'est auto-remplie là :

#Intent;action=org.strongswan.android.action.START_PROFILE;l.org.strongswan.android.VPN_PROFILE_ID=1;end

Vous pouvez désormais attacher votre tâche à un profil de démarrage dans Tasker.

Quant à la ligne de commande, j'ai essayé la même intention dans la ligne de commande et cela fonctionne aussi.

am start -a org.strongswan.android.action.START_PROFILE --el org.strongswan.android.VPN_PROFILE_ID 1

Remplacez 1 par l'ID de votre profil.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X