Я пишу SDK и хотел бы, чтобы разработчики могли создать activity-alias
, чей targetActivity
установлен в действие внутри моего SDK. Я делаю это, потому что я хотел бы, чтобы они могли настроить фильтр намерений для определенной активности в SDK. Если в манифесте sdk присутствует ActivityX, я бы хотел, чтобы они могли записать activity-alias
, как это, в в своем манифесте приложения:
<activity-alias
android:name="abc"
android:targetActivity="ActivityX">
<intent-filter>
... user custom intent filter
</intent-filter>
</activity-alias>
Проблема, с которой я сталкиваюсь, заключается в том, что targetActivity
имеет ограничение :
"... должен соответствовать атрибуту name элемента активности, который предшествует псевдониму в манифесте.
Это проблема, потому что независимо от того, где я размещаю активность в манифесте sdk или где я помещаю псевдоним в примерный манифест приложения, псевдоним всегда появляется перед активностью в последнем объединенном манифеста, вызывающем ошибку INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
.
Одна идея заключается в том, чтобы поместить псевдоним без фильтра намерения сразу после объявления ActivityX в манифесте sdk и надеяться, что эти два псевдонима будут объединены вместе и останутся в положение псевдонима sdk. Но я не могу понять, как это сделать. Одна из причин, по которым может не работать, заключается в том, что две псевдонимы могут не конфликтуют.
Есть ли у вас мысли об этом решении с помощью решения слияния или какой-либо другой техники?