Как контролировать начальный уровень пакетов, развернутых из каталога раскладки?

Можно ли контролировать начальный уровень пакетов, сброшенных в папку pickup? Есть ли способ, чтобы пакет не активировался до тех пор, пока не станет доступна какая-то другая услуга?

У нас есть много пакетов с взаимозависимостями, полностью управляемыми начальными уровнями; т. е. если Bundle Y нуждается в Bundle X при запуске, то Y имеет более высокий начальный уровень.

Это не работает, если пакет удален в каталоге раскладки. Кажется, эти связки стартуют раньше других и в произвольном порядке между собой, возможно, одновременно.

Есть ли способ контролировать начальный уровень пакетов в папке раскладки?

Более того, есть ли способ для пакета объявить о своих зависимостях от других сервисов? В этом случае я могу даже использовать это с несколькими пакетами в пикапе, когда один зависит от другого.


person Miserable Variable    schedule 13.08.2013    source источник


Ответы (1)


Вы можете ограничить разрешение пакетов только наличием возможностей, но не активацией. Активация, безусловно, происходит после разрешения, но разрешенные пакеты могут быть активированы в любом порядке. Таким образом, зависимости активации на уровне пакета не работают.

Вместо этого вы должны использовать «компоненты» (то есть декларативные службы), у которых есть возможность привязать свой жизненный цикл к доступности других компонентов. С этой опцией пакеты могут запускаться в произвольном порядке, но службы по-прежнему активируются/предоставляются только после активации всех их зависимостей от служб.

person oberlies    schedule 14.08.2013