Как я могу получить доступ к деятельности из другого функционального модуля - PullRequest
0 голосов
/ 26 июня 2018

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

Прямо сейчас я получаю доступ к действиям, используя:

Intent i = new Intent(this,
                    Class.forName("com.demo.test.appmodule.TextActivity"));

этим методом студия не показывает мне никаких ошибок во время компиляции.

  1. Есть ли другой способ длясвязь между двумя различными функциональными модулями?
  2. Почему я могу получить доступ к активности базового функционального модуля из прикладного модуля, но не наоборот?
  3. можем ли мы получить доступ к действиям прикладного модуля из базовой или любой другойфункциональный модуль?

project structure

enter image description here

Могу ли я иметь ссылку, которая определяетструктура проекта для мгновенного приложения

Заранее спасибо

1 Ответ

0 голосов
/ 26 июня 2018

Причина, по которой вы не можете напрямую общаться между функциями, заключается в том, что они независимы друг от друга.

Правильный способ справиться с этим - вызвать его по URL-адресу, например: android-instant-apps / hello-feature-module / HelloActivity.java

Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://hello-feature.instantappsample.com/goodbye"));
intent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivity(intent);

В структуре мгновенного приложения база действует как библиотека для функциональных модулей, а функции встроены в APK .В структуре установленного приложения и база, и функции действуют как библиотеки для модуля приложения.Некоторое объяснение можно найти здесь:

Раньше была страница @ https://g.co/instantapps, которая объясняла структуру мгновенных приложений,но похоже, что это отсутствует.Однако вы можете взглянуть на:

И нет, вы не сможетепрямой доступ к действиям приложения из функции.Как установленное приложение, модули com.android.feature скомпилированы / ведут себя как модули com.android.library, поэтому применяйте те же правила здесь: приложение зависит от библиотеки, а не наоборотвокруг.Чтобы пересечь это направление, вам нужно будет использовать тот же тип намерения, как показано выше.

Все, что в com.android.application, будет изолировано от функциональных модулей приложения Instant, ипоявится только в установленном приложении.

...