Intent对象不触发intent-filter

时间:2010-06-25 18:16:38

标签: android android-intent

也许我误解了Intentintent-filter的工作方式,但在我看来,这应该是一个直截了当的案例。但是,它没有用。

这是我发送的意图:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setType("vnd.android.cursor.item/vnd.connectsy.event");
startActivity(i);

这是intent-filter:

<activity android:name=".events.EventView">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <data android:mimeType="vnd.android.cursor.item/vnd.connectsy.event" />
    </intent-filter>
</activity>

最后,我收到的错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android.cursor.item/vnd.connectsy.event }

1 个答案:

答案 0 :(得分:4)

Here's the answer

  

Android会处理所有隐含意图   传递给startActivity()就像它们一样   至少包含一个类别:   “android.intent.category.DEFAULT”(   CATEGORY_DEFAULT常量)。因此,   愿意接受的活动   隐含意图必须包括   “android.intent.category.DEFAULT”中   他们的意图过滤器。

添加

<category android:name="android.intent.category.DEFAULT" />

到AndroidManifest.xml中的意图过滤器