В 3.1 есть новый флаг с именем FLAG_EXCLUDE_STOPPED_PACKAGES
:
Если установлено, это намерение не будет соответствовать ни одному из компонентов в пакетах, которые в данный момент остановлены. Если это не установлено, то поведение по умолчанию заключается в том, чтобы включать такие приложения в результат.
Из примечаний к выпуску для версии 3.1 :
Обратите внимание, что система добавляет FLAG_EXCLUDE_STOPPED_PACKAGES ко всем вещательным намерениям.
А также:
Приложения находятся в остановленном состоянии, когда они впервые установлены, но еще не запущены и когда они вручную остановлены пользователем (в Управлении приложениями).
Похоже, что это нарушает поведение INSTALL_REFERRER
на устройствах 3.1+, так как ваше приложение еще не запущено и поэтому не может принимать трансляцию. К сожалению, я не знаю, как это сделать. Google, вероятно, мог бы сделать что-то, чтобы исправить это в своем приложении Market (один из способов - просто использовать FLAG_INCLUDE_STOPPED_PACKAGES
, хотя я не уверен, что это будет отличная идея, учитывая весь смысл этих новых запусков управления).