在Android上,如果您在浏览器中键入MP3文件的URL(或单击指向该文件的链接),您将获得“使用完整操作”弹出窗口,其中列出了可以播放文件的某些应用程序(Music,StreamFurious) ,Streaming Media Player,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>
但是没有这样做。然后我从市场上下载了andLess并意识到应用程序没有显示在“使用完整操作”列表中。
答案 0 :(得分:1)
您可能想要添加此过滤器:
<action android:name="android.intent.action.MUSIC_PLAYER"/>
<receiver android:name="MyPhoneReceiver">
<intent-filter>
<action android:name="android.intent.action.MUSIC_PLAYER"></action>
</intent-filter>
</receiver>
这里基本上发生的是,当文件从文件浏览器启动/点击时,android广播并将文件出售给可能对文件类型感兴趣的可能应用程序。因此,我们需要确定我们的应用程序将/可能响应的文件。这是通过广播接收器。但你可能已经知道了。我希望这有帮助......因为我迟到了。
我再次编辑这个...你需要在你的应用程序标签中。 ^^
答案 1 :(得分:1)
不需要接收器。这有效。当您单击链接时,它会尝试“查看”链接的内容,因此intent-filter需要视图操作和可浏览类别。下面列出了正确的数据设置:
<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>