L'action Ouvrir Fichier intégrée ne semble pas fonctionner pour les chemins de fichiers non /storage
car elle est codée en dur (je l'ai présumé à partir de ses journaux d'erreur) pour charger uniquement un fichier situé sous /storage/emulated/0
. Même si vous mentionnez l'emplacement absolu en utilisant file://
, il ajouterait toujours /storage/emulated/0
au chemin du fichier et renverrait une erreur.
Parce que l'action Ouvrir Fichier envoie simplement une intention, nous pouvons le faire manuellement nous-mêmes. L'action Envoyer Intention est assez bonne pour cela, sauf qu'elle échoue également avec des chemins de fichiers non /sdcard
. Tasker implémente FileProvider (une manière de partager des fichiers de manière sécurisée avec d'autres applications). L'action pourrait fonctionner mais le fichier du manifeste de Tasker prévoit de ne pas exporter le fournisseur de fichiers, ce qui signifie que d'autres applications ne peuvent pas en faire usage. Comme Tasker convertit même le chemin de fichier absolu (avec file://) en un URI de fournisseur de fichiers, il n'y a aucun moyen pour nous de charger un fichier non /sdcard
en utilisant cette action également, sauf demander au développeur de Tasker de corriger cela, ou que l'utilisateur lui-même ajuste le fichier du manifeste.
Cependant, la solution est disponible en utilisant la ligne de commande. Utilisez l'action :
Code → Exécuter Shell :
-
Commande :
am start -a android.intent.action.VIEW -d "file://CHEMIN_FICHIER" -t "text/plain" -f 0x13000000 -n android/com.android.internal.app.ResolverActivity
file://
est destiné tel quel. Dans votre cas, le chemin du fichier devrait être file:///data/misc/wifi/wpa_supplicant.conf
.
text/plain
peut également être remplacé par text/*
si vous ne connaissez pas le type MIME de votre fichier.
(Vous pouvez en savoir plus sur am
ici.) Je ne sais pas ce que ce drapeau (0x13000000) fait en particulier.
-
cocher Utiliser Root
L'exécution de la tâche vous donnera maintenant la feuille inférieure avec toutes les applications qui peuvent charger un fichier avec le type MIME text/plain
. Cependant, lors des tests, seule l'application QuickEdit a pu charger ce fichier avec succès, donc je recommande de l'utiliser à moins que vous ne parveniez à le faire fonctionner avec un autre éditeur.
1 votes
Je ne sais rien de Tasker mais je connais les commandes shell. Si c'est ce que Tasker utilise, le problème est que vous devez simplement vous rendre dans le répertoire exemple :
cd /data/misc/wifi/
pour ajouter une autre commande&&
ou;
devrait faire l'affaire exemple :cd /data/misc/wifi/ && votre commande
oucd /data/misc/wifi/; votre commande
selon la façon dont vous voulez que la commande soit exécutée.2 votes
@BoLawson si c'est une commande shell, il suffit simplement de la préfixer avec
!
pour indiquer à Tasker de l'exécuter avec des pouvoirs root AFAIK (il se pourrait qu'entre-temps il y ait une case à cocher pour cela). Cependant, je ne sais pas s'il existe un équivalent pour ouvrir un fichier.2 votes
Bon point @Izzy, pour ouvrir le fichier, la commande
nano
devrait suffire en regardant comme!nano /data/misc/wifi/wpa_supplicant.conf
s'il revient avec une erreur de fichier/répertoire inconnu, alors faire cd dans le répertoire. Sur le premier commentaire, mettre!
devant le cd.1 votes
@BoLawson J'ai manqué la partie de l'éditeur. En effet, je ne suis pas sûr qu'une application d'éditeur non-root (OP voulait en utiliser une spécifique) pourrait fonctionner. nano ou vi devraient faire l'affaire.
1 votes
@BoLawson merci pour la suggestion, à première vue j'ai effectivement essayé de vérifier si je pouvais exécuter la commande depuis Termux sur android et utilisé
cd /data/misc/wifi/
pour parcourir le répertoire, vérifié l'existence du fichier en utilisantls
. Mais ensuite je me suis retrouvé bloqué sur comment ouvrir le fichier depuis Termux. wiki.termux.com/wiki/Sharing_Data a suggérétermux-open wpa_supplicant.conf
mais je n'ai pas pu utiliser ou installertermux-open
depuis Termux. Je n'ai pas encore essayé nano, car je ne pourrai pas accéder à Termux/terminal en utilisation normale. Je vais me pencher là-dessus, merci!0 votes
Je ne pense pas que l'application Editor fonctionnerait même avec un bon argument. J'ai essayé de charger un fichier non-sdcard dedans et cela n'a tout simplement pas réussi à se charger.