我在Android Enthusiasts stackexchange论坛中提出了类似的问题,但没有提供答案。我在此发布此问题,希望可能会有更多的人看到它并提供答案。
这是Android发烧友的帖子: https://android.stackexchange.com/questions/203123/oreo-associating-an-app-with-all-files-with-a-given-extension
总而言之,我正在寻找一种方法来告诉基于Oreo的Android系统将新后缀与text/plain
MIME类型相关联。换句话说,假设我希望设备上所有后缀为.abc
的文件都被视为text/plain
。我希望这是一个系统范围的映射,而不仅仅是特定应用程序的映射。
请清楚,我 不是 只是在寻找一种将应用程序与text/plain
关联的方法。我 am 所寻找的是一种使带有此后缀.abc
的所有文件始终变为 的方法。在我的设备上被视为text/plain
。
我知道Android下有一些从后缀到MIME类型的映射。例如。 .txt
,text/plain
和许多其他后缀始终始终映射到.log
。因此,至少从理论上讲,应该可以将任何后缀(例如我的.abc
示例)映射到text/plain
。但是,我还无法弄清楚该怎么做。
有一个名为/system/lib/content-types.properties
的文件似乎可以提供此功能(请参阅下文,以获取我设备中该文件的列表)。但是,当我将abc=text/plain
放入该文件时,即使重新启动后,带有.abc
后缀的项目仍不会被识别为text/plain
。
我正在使用Xposed和Magisk运行有根设备,因此可以安装非官方模块。但是,我还没有找到任何提供此功能的Xposed或Magisk模块。我还可以运行自定义的init.d
脚本,以防万一有某种方式可以启用该功能。
有人可以建议我完成我想要的任何事情吗?非常感谢。
这是我的/system/lib/content-types.properties
文件的内容...
# 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