以编程方式将我的应用设置为 android 中的默认音乐播放器

Set my app as default music player in android programatically

当我们点击一​​个 mp3 文件时,我们会弹出 window 显示可以播放该文件的默认应用程序。

如何将我的应用程序添加到该列表?

为了开发我提到的应用程序 a tutorial on tuts+

我正在使用名为 player service 的服务,指的是 a android-developers blog post.

我已将以下代码添加到清单文件中的 <service> 定义中

<intent-filter>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:scheme="file"/>
    <data android:mimeType="audio/*"/>
    <data android:mimeType="application/ogg"/>
    <data android:mimeType="application/x-ogg"/>
    <data android:mimeType="application/itunes"/>
</intent-filter>

我应该设置什么 mime 类型才能使我的应用程序成为默认应用程序之一?

我无法在弹出窗口中看到我的应用程序 window。

无法以编程方式将您的应用设置为默认音乐播放器。当它显示在您所指的弹出窗口 window 中时,必须由用户完成。

要获得您的应用,您可以参考(过时的)android 音乐播放器的 manifest

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="content"/>
    <data android:host="media"/>
    <data android:mimeType="audio/*"/>
    <data android:mimeType="application/ogg"/>
    <data android:mimeType="application/x-ogg"/>
    <data android:mimeType="application/itunes"/>
</intent-filter>

您需要的主要项目是 <action> 元素。有关此处问题的更多详细信息,请参阅 intent filter without action。额外的 <data> 元素可能会派上用场,以支持更广泛的位置。