1:这个问题在百度一搜都是如下面的解决方案
<!--<data android:scheme="file"/>--> <!--<data android:host="*" />--> <!--<data android:pathPattern=".*\\.stl" />-->
刚开始发现没问题确实能打开/storage/路径下的stl文件,然而在往深一层的文件点的时候,app就没办法识别自定义的文件类型了
2:解决方法
1: 多写几个data ,pathPattern 中的意思你的路径样式,如第一个是在/storage/sdcard/emulated/0/下的文件能支持stl格式文件,第二个比第一个多了"/.*" 所以可以打开下一层的自定义文件
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <!--<data android:scheme="file"/>--> <!--<data android:host="*" />--> <!--<data android:pathPattern=".*\\.stl" />--> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern=".*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*/.*/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*/.*/.*/.*/.*\\.stl"/> <data android:scheme="file" android:host="*" android:mimeType="*/*" android:pathPattern="/.*/.*/.*/.*/.*/.*/.*/.*\\.stl"/> </intent-filter>
2:只需要就可一打开所有文件了
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*"/> </intent-filter>