Намеренный объект не вызывает интент-фильтр - PullRequest
2 голосов
/ 25 июня 2010

Возможно, я неправильно понимаю, как работают Intent s и intent-filter s, но мне кажется, что это должно быть простым делом.Однако, это не работает.

Вот намерение, которое я отправляю:

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

И вот фильтр намерений:

<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 Ответ

4 голосов
/ 25 июня 2010

Вот ответ :

Android обрабатывает все неявные намерения, переданные startActivity (), как если бы они содержали хотя бы одну категорию: "android.intent.category.DEFAULT"(константа CATEGORY_DEFAULT).Поэтому действия, которые желают получать неявные намерения, должны включать в свои фильтры намерений «android.intent.category.DEFAULT».

Добавить

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

к вашему фильтру намерений вAndroidManifest.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...