намеренный фильтр без действий
Документация Android гласит:
http://developer.android.com/reference/android/content/IntentFilter.html
«Действие соответствует, если какое-либо из заданных значений соответствует действию« Намерение », или если в фильтре не было указано никаких действий».
Я просто попытался проверить это. В моем тестовом приложении я установил такой фильтр для одного из действий:
<intent-filter>
<action android:name="ma" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="mk1" />
</intent-filter>
Я пытаюсь отправить такое намерение:
Intent i = new Intent();
i.setAction("ma");
i.addCategory("mk1");
startActivity(i);
Это работает - моя деятельность начинается.
Затем я закомментирую действие в фильтре:
<intent-filter>
<!-- <action android:name="ma" /> -->
<category android:name="android.intent.category.DEFAULT" />
<category android:name="mk1" />
</intent-filter>
Я снова посылаю то же самое намерение. Теперь моя деятельность не начинается.
Почему? Согласно документации, когда в моем фильтре не указаны действия, намерение выполнить некоторые действия должно его заполнить.