我正在尝试制作一个 android 应用程序来打开扩展名为 .abc 的文件,这是我来自 android manifest xml 的应用程序部分
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:name="com.example.app.ActName" android:label="AppName">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:mimeType="image/jpeg"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.abc" />
<data android:host="*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
我使用了最流行和相关问题中的所有经验
Android 如何为自定义文件扩展名创建意图过滤器,这不会使其成为手机上所有内容的选择器的一部分
最后这不起作用 - 当我在 ES 文件浏览器中单击名为“name.abc”的文件时,它会询问我是否要以文本或图像等形式打开文件,而实际上应该只打开文件在我的应用程序中
我究竟做错了什么?通过在任何文件管理器中单击具有相应扩展名的文件来启动应用程序的正确意图过滤器是什么?
更新。
看起来不同的 android 系统和不同的文件浏览器以不同的方式运行 - 一个意图过滤器在“ES 文件资源管理器”中的 4.2 和默认文件管理器中的 4.0.4 上工作得很好,但在 4.2 和 4.0 上根本不起作用。 “Total Commander”中的 4 和“ES 文件资源管理器”中的 4.0.4