Почему бы вам не использовать одно приложение, которое выполняет три разные функции на основе значений SharedPreferences, установленных пользователем, или из контекста во время установки.Если вы действительно хотите отделиться, у вас может быть три разных действия, и вы решаете, какое из них запустить из молчаливого основного действия, которое перенаправляет на одно из разных.
Альтернативой является создание уникального действия, котороединамически раздувается из 3 различных макетов в onCreate
раз.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (...custom check for layout... equals(layout1)) {
setContentView(R.layout.main_layout1);
} else if (... equals(layout2)) {
setContentView(R.layout.main_layout2);
} else if (... equals(layout3)) {
setContentView(R.layout.main_layout3);
} else {
throw new IllegalStateException("Unknown layout!");
}
... your onCreate stuff....
}
Это облегчит обслуживание кода (только один источник кода для изменения, только один список версий и набор изменений для обслуживания)
Проверьте здесь: Как использовать SharedPreferences в Android для хранения, извлечения и редактирования значений