如何制作用于流式播放MP3文件的intent-filter?

Nic*_*ick 5 android android-manifest android-intent

在Android上,如果你键入一个网址在浏览器中的MP3文件(或点击链接到文件上),你会得到"完成操作使用"与所列的可播放文件(音乐,StreamFurious,流媒体的一些应用程序弹出玩家,Winamp,XiiaLive Lite,仅举几例).如何让我的应用程序显示在该列表中?

我很确定我必须添加到AndroidManifest.xml中的intent-filter,但我不知道需要在其中添加什么操作,类别或数据.谁知道我要做什么?另外,有什么方法可以追踪调用系统的意图吗?这可能会让你更容易弄清楚将来如何做其他事情.

根据我在code.google.com/p/andless/source/browse/trunk/AndroidManifest.xml?spec=svn86&r=86#看到我尝试这样做:

<activity android:name=".Main"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="audio/mp3" android:scheme="file" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

但那没有做到.然后我从市场上下载了andLess并意识到应用程序也没有显示在"使用完整操作"列表中.

Nic*_*ick 1

无需接收器。这有效。当您单击链接时,它会尝试“查看”链接的内容,因此意图过滤器需要查看操作和可浏览类别。正确的数据设置如下:

<activity android:name=".Main"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </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="http" android:pathPattern=".*mp3" android:mimeType="audio/*" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)