category.DEFAULT意图过滤器如何工作?

时间:2015-11-16 03:38:03

标签: android android-intent mp3 default intentfilter

我正在制作音乐播放器应用,我希望它可以选择成为默认音乐应用。我一直在审查这里的文档,但没有太多运气了解它。

http://developer.android.com/guide/components/intents-filters.html

我已经收集了我需要使用android.intent.category.DEFAULT但之后......我被困住了。

我的问题是:如果有人选择了一个mp3文件,我的应用程序是默认应用程序并打开了...在哪里/如何选择哪个活动/服务和方法打开文件? wou7ld在哪里获取用户选择的文件的文件路径?

2 个答案:

答案 0 :(得分:1)

如果用户点击 .mp3 文件,您要启动应用程序以播放 .mp3 文件

您必须在manifest文件中放置意图过滤器,这将具有此意图

android.intent.category.APP_MUSIC

请阅读Documentation了解相同内容。

答案 1 :(得分:1)

我明白了: - )

AndroidManifest:

 <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:scheme="file" android:pathPattern=".*mp3" android:mimeType="audio/mpeg" />
 </intent-filter>

MainActivity:

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {  

    if (Intent.ACTION_VIEW.equals(getIntent().getAction()))
    {
        File file = new File(getIntent().getData().getPath());

       // do what you want with the file...       
    }