0
votes

It seems to me that if startActivity is called with an implicit categoryless intent, only activities with an intent filter specifying the default category (android.intent.category.DEFAULT) can be launched.

The category is not needed in the intent filter for services if we use startService instead of startActivity.

Does everybody see the same behavior ?

Is it documented somewhere in the Android official documentation ?

1

1 Answers

0
votes

I think that is documented.

See http://developer.android.com/reference/android/content/Intent.html:

The categories, if supplied, must all be listed by the activity as categories it handles. That is, if you include the categories CATEGORY_LAUNCHER and CATEGORY_ALTERNATIVE, then you will only resolve to components with an intent that lists both of those categories. Activities will very often need to support the CATEGORY_DEFAULT so that they can be found by Context.startActivity().

My experience is that an category-less activity can be used with startActivity() if the class is explicitly set in the intent, though. In that case, no intent matching is done.