Android Intent Filter:无法从预览中打开音频文件?

Posted

技术标签:

【中文标题】Android Intent Filter:无法从预览中打开音频文件?【英文标题】:Android Intent Filter: Can't open audio file from preview? 【发布时间】:2020-03-29 17:08:57 【问题描述】:

我希望我的 android 应用能够从 VIEW 意图打开 MP3 文件和其他一些格式。我几乎可以完成这项工作,但在某些情况下它不会出现在“打开方式...”菜单中。

例如,如果我在“文件”中选择一个 mp3 文件并选择“打开方式”,我会看到一个包含我的应用程序列表(屏幕截图中的“N-Space”)。

Screenshot

但是当我点击 mp3 文件时,它会打开一个预览。如果我从这个预览屏幕中选择“打开方式”,我会得到一组不同的应用程序,其中不包括我的。

Screenshot

为什么同一个文件会出现一组不同的应用程序?它是使用不同的 MIME 类型还是不同的操作类型?如何让我的应用显示在该列表中?

这是我清单的相关部分:

      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />

        <data android:scheme="file" />
        <data android:scheme="http" />
        <data android:scheme="https" />
        <data android:scheme="content" />

        <data android:mimeType="audio/mpeg" />
        <data android:mimeType="audio/mp3" />
        <data android:mimeType="audio/mpeg3" />
        <data android:mimeType="audio/x-mpeg-3" />
        <!-- ... and more for other file types -->
      </intent-filter>

我不能使用audio/*,因为我的应用只支持某些音频格式。

【问题讨论】:

【参考方案1】:

事实证明,第二个“打开方式...”菜单最多显示 3 个应用程序。我卸载了其中一些,然后我的应用程序出现了。可能是错误?

【讨论】:

以上是关于Android Intent Filter:无法从预览中打开音频文件?的主要内容,如果未能解决你的问题,请参考以下文章

阅读《Android 从入门到精通》(34)——Intent Filter

阅读《Android 从入门到精通》(34)——Intent Filter

Android - 在更新SDK版本23后,使用ACTION-VIEW intent-filter添加至少一个Activity

无法从服务启动前台通知?

Android:Intent-Filter 和后台网页

java [Android Intent Filter]标签:Android