Согласно документам Android (http://developer.android.com/guide/components/intents-filters.html): «С другой стороны, объект Intent, который не указывает действие, автоматически передает тест - если фильтр содержит хотя бы одно действие. " и «каждая категория объекта Intent должна соответствовать категории в фильтре. Фильтр может отображать дополнительные категории, но он не может опустить любые, которые находятся в намерении».Разрешение для намерений без каких-либо действий
У меня есть намерение фильтр объявлен следующим образом:
<intent-filter>
<action android:name="my.custom.action" />
<category android:name="my.custom.category" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Основываясь на правилах выше я ожидаю, что родительская активность этого фильтра должна быть возвращена с помощью следующего кода, но это не так:
List<ResolveInfo> list = getPackageManager().queryIntentActivities(
new Intent().addCategory("my.custom.category"),
PackageManager.MATCH_DEFAULT_ONLY + PackageManager.GET_RESOLVED_FILTER);
Будет ли разрешение намерения возвращать действие с фильтром выше, если никаких действий не указано?
Спасибо!
Смотрите мой комментарий выше. Любые другие идеи? – user2577593