如何设置选择器以显示多种类型的意图?

时间:2012-02-22 08:59:50

标签: android android-intent android-manifest android-mediaplayer intentfilter

我正在尝试为可以播放音频播放器的播放器打开一个dailog。

我这样做

final Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(finalPath), "audio/*");
List<ResolveInfo> intents = context.getPackageManager().queryIntentActivities(intent, 0);

if (intents != null && intents.size() > 0) {
    context.startActivity(Intent.createChooser(intent, "Choose Player"));
}

我有一个自己的玩家可以玩。我还想在用户使用我的应用程序时在选择器对话框中显示我的播放器。意思是当用户尝试intent.setDataAndType(Uri.parse(finalPath), "audio/*");时,我不想在应用程序之外播放音频,所以我做了像

这样的palyer活动
<activity
    android:name=".player.MyAudioPlayer"
    android:label="My Player"
    android:screenOrientation="sensor"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        <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" />
        <data android:mimeType="audiomy/*"/>
    </intent-filter>
</activity>

如何在一个意图选择器中显示两种MIMI类型? 就像我在做的时候一样

intent.setype("audiomy/*");

它跳过其他玩家,反之亦然

1 个答案:

答案 0 :(得分:-1)

将玩家的意图过滤器设置为接受相同的意图,它将自动显示在列表中。