1 votes

Oreo: associer une application à tous les fichiers ayant une certaine extension?

NOTE: ma question est en effet similaire à celle ci-dessus. Cependant, il existe une légère différence, que j'explique ci-dessous dans ma section ADDENDUM.

Question d'origine ...

Je crée beaucoup de fichiers texte sur mon appareil Android basé sur Oreo avec diverses extensions de fichier autres que simplement .txt. Par exemple, j'ai des fichiers avec des extensions .xyz, des extensions .abc, et autres, et je veux que tous les fichiers avec ces suffixes particuliers soient considérés comme des fichiers texte par mon application d'éditeur de texte choisie. De cette façon, chaque fois que je sélectionne un tel fichier, le système choisira cet éditeur de texte pour les ouvrir.

Je n'ai trouvé aucun moyen de le faire, surtout étant donné qu'il n'y a pas d'association de fichiers par défaut pour les fichiers texte offerte dans Android. Mais même si une telle association de fichier texte par défaut existait, je ne sais pas comment causer des suffixes de nom de fichier ad hoc à être associés à des fichiers texte.

De plus, les intents semblent fonctionner sur les types mime, et je ne sais pas comment associer ces suffixes supplémentaires avec text/plain sous Android.

Y a-t-il un moyen sur Android (Oreo) pour moi d'accomplir ce que je veux?

Merci d'avance.

ADDENDUM: Le post mentionné ci-dessus parle de la façon dont les types mime sont gérés sur une base spécifique à l'application dans Android, et qu'il n'y a pas de moyen officiel de gérer les types mime sur une base système.

Je comprends cela, mais je demande quelque chose légèrement différent. Supposons qu'une application soit déjà configurée dans son manifeste pour répondre aux éléments text-plain. Ma question est la suivante: où dans Android le suffixe .txt est-il défini comme correspondant à text-plain, et y a-t-il un moyen d'ajouter d'autres suffixes (comme .abc et .xyz, comme je le décris ci-dessus) sur une base système pour également être associé à text-plain?

J'ai un appareil rooté qui utilise Xposed et Magisk, et donc même s'il n'y a pas de moyen officiel dans Android pour mettre en œuvre ces types de mappings, je me demande s'il pourrait y avoir des modules non officiels Xposed ou Magisk qui permettront cela. Je n'ai trouvé aucun module Xposed ou Magisk de ce type, mais peut-être que je passe à côté de quelque chose.

Aussi, comme mon appareil est rooté (et je peux également changer mes paramètres selinux en permissive), je pourrais éditer manuellement les fichiers de configuration système n'importe où sur l'appareil pour ajouter plus de suffixes de nom de fichier à la mise en correspondance text-plain, en supposant que cette mise en correspondance soit effectivement gérée dans un certain type de fichier de configuration système.

J'exécute également Tasker, et si un tel fichier de configuration mime existe, je pourrais m'assurer que Tasker copie toujours une version spéciale de ce fichier en place lors du démarrage. De plus, j'exécute d'autres utilitaires qui permettent des scripts ad hoc à être exécutés au démarrage via init.d.

Des idées? ...

0 votes

Utilisez un gestionnaire de fichiers différent (par exemple, Solid Explorer), il vous permet de choisir parmi différentes applications pour ouvrir ce type d'extension de fichier

0 votes

Merci, mais je veux associer plain/text à ces éléments même s'ils sont ouverts en dehors d'un gestionnaire de fichiers ... c'est-à-dire, via une application arbitraire. Est-ce que ce n'est pas possible?

1 votes

0voto

Avanst Points 513

La réponse suivante semble prometteuse...

Le fichier /system/lib/content-types.properties contient les informations suivantes. Il semble que je puisse ajouter abc=text/plain et xyz=text/plain à ce fichier pour obtenir le comportement souhaité. Je vais tester cela et je ferai un retour.

# Si vous souhaitez prendre en charge plus de types MIME reconnus dans libcore.net.MimeUtils, ajoutez-les ici

docm=application/vnd.ms-word.document.macroenabled.12
xlsb=application/vnd.ms-excel.sheet.binary.macroenabled.12
xlsm=application/vnd.ms-excel.sheet.macroenabled.12
ppsm=application/vnd.ms-powerpoint.slideshow.macroenabled.12
ppsx=application/vnd.openxmlformats-officedocument.presentationml.slideshow
pptm=application/vnd.ms-powerpoint.presentation.macroenabled.12

asm=text/x-asm
cc=text/x-c
conf=text/plain
cpp=text/x-c
css=text/css
c=text/x-c
cxx=text/x-c
def=text/plain
dic=text/x-c
f77=text/x-fortran
f90=text/x-fortran
for=text/x-fortran
f=text/x-fortran
hh=text/x-c
hpp=text/x-c
h=text/x-c
ics=text/calendar
ifb=text/calendar
in=text/plain
jad=text/vnd.sun.j2me.app-descriptor
java=text/x-java-source
ksh=text/plain
list=text/plain
log=text/plain
pas=text/x-pascal
pl=text/plain
properties=|
prop=text/plain
p=text/x-pascal
py=text/x-python
rc=text/plain
sgml=text/sgml
sgm=text/sgml
s=text/x-asm
vcs=text/x-vcalendar

0 votes

Malheureusement, lorsque je mets des entrées telles que abc=text/plain dans ce fichier, leur existence semble être ignorée, même après avoir redémarré l'appareil. Donc ... retour à la case départ ...

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