Oreo: Verknüpfen einer App mit allen Dateien mit einer bestimmten Erweiterung?

HINWEIS: Meine Frage ähnelt in der Tat der obigen Frage. Es gibt jedoch einen kleinen Unterschied, den ich weiter unten in meinem Abschnitt ADDENDUM erkläre.

Ursprüngliche Frage ...

Ich erstelle viele Textdateien auf meinem Oreo-basierten Android-Gerät mit verschiedenen Dateierweiterungen außer einfach .txt. Zum Beispiel habe ich Dateien mit .xyzErweiterungen, .abcErweiterungen und anderen, und ich möchte, dass alle Dateien mit diesen bestimmten Suffixen von meiner ausgewählten Texteditor-App als Textdateien angezeigt werden. Auf diese Weise wählt das System immer dann, wenn ich eine solche Datei auswähle, diesen Texteditor aus, um sie zu öffnen.

Ich habe keine Möglichkeit gefunden, dies zu tun, insbesondere da es keine Standarddateizuordnung für Textdateien gibt, die in Android angeboten wird. Aber selbst wenn eine solche standardmäßige Textdateizuordnung existieren würde, weiß ich nicht, wie man Ad-hoc- Dateinamensuffixe dazu bringen kann, Textdateien zuzuordnen.

Darüber hinaus scheinen Absichten mit Mime-Typen zu arbeiten, und ich weiß nicht, wie ich diese zusätzlichen Suffixe unter text/plainAndroid zuordnen soll.

Gibt es in Android (Oreo) eine Möglichkeit, das zu erreichen, was ich will?

Vielen Dank im Voraus.

NACHTRAG: Der Beitrag, auf den oben verwiesen wird, spricht darüber, wie Mime-Typen auf einer anwendungsspezifischen Basis in Android verwaltet werden, und dass es keine offizielle Möglichkeit gibt, Mime-Typen systemweit zu verwalten.

Ich verstehe das, aber ich frage etwas etwas anderes. Angenommen, eine Anwendung ist in ihrem Manifest bereits so konfiguriert, dass sie auf Elemente reagiert text-plain. Meine Frage lautet: Wo ist das .txtSuffix in Android als entsprechend definiert text-plain, und gibt es eine Möglichkeit, weitere Suffixe (wie .abcund .xyz, wie oben beschrieben) systemweit hinzuzufügen, um auch zugeordnet zu werden text-plain?

Ich habe ein gerootetes Gerät, das verwendet wird Xposedund Magisk, und selbst wenn es in Android keine offizielle Möglichkeit gibt, diese Art von Zuordnungen zu implementieren, frage ich mich, ob es möglicherweise inoffizielle Xposedoder MagiskModule gibt, die dies ermöglichen. Ich konnte solche Xposedoder MagiskModule nicht finden, aber vielleicht übersehe ich etwas.

Da mein Gerät gerootet ist (und ich auch meine Selinux-Einstellungen auf ändern kann permissive), könnte ich die Systemkonfigurationsdateien überall auf dem Gerät manuell bearbeiten, um der Zuordnung weitere Dateinamensuffixe hinzuzufügen text-plain, vorausgesetzt, dass diese Zuordnung tatsächlich in einigen verwaltet wird eine Art Systemkonfigurationsdatei.

Ich führe auch aus Tasker, und wenn eine solche Mime-Konfigurationsdatei vorhanden ist, könnte ich sicherstellen, dass Taskerbeim Booten immer eine spezielle Version dieser Datei kopiert wird. Darüber hinaus führe ich andere Dienstprogramme aus, mit denen Ad-hoc -Skripte beim Start über ausgeführt werden können init.d.

Irgendwelche Gedanken? ...

Verwenden Sie einen anderen Dateimanager (z. B. Solid Explorer), damit können Sie aus verschiedenen Apps auswählen, um diese Art von Dateierweiterung zu öffnen
Vielen Dank, aber ich möchte diese Elemente auch dann verknüpfen plain/text, wenn sie außerhalb eines Dateimanagers geöffnet werden ... dh über eine beliebige App. Ist das nicht möglich?
Es ist kein Duplikat, da dieser Beitrag darüber spricht, wie die Manifestdatei einer bestimmten App, die entwickelt wird, konfiguriert wird, damit sie „nicht aufgelistete“ Dateitypen erkennen kann. Ich möchte ein Ad-hoc-Suffix (z. B. ".abc") zuordnen, das für alle Apps, die ich jemals auf meinem Gerät ausführen werde, immer als Text/Plain betrachtet wird .

Antworten (1)

Das Folgende sieht nach einer vielversprechenden Antwort aus ...

Die Datei /system/lib/content-types.propertiesenthält die folgenden Informationen. Es sieht so aus, als könnte ich abc=text/plainund xyz=text/plainzu dieser Datei hinzufügen, um mein gewünschtes Verhalten zu erhalten. Ich werde das testen und berichten.

# If you want to support more recognized mimetypes in libcore.net.MimeUtils, add them here

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
Wenn ich Einträge wie abc=text/plainin diese Datei einfüge, scheint ihre Existenz leider ignoriert zu werden, selbst nachdem ich das Gerät neu gestartet habe. Also ... zurück zum Reißbrett ...