从当前项目中的另一个模块启动MainActivity

时间:2019-03-26 15:53:35

标签: android android-intent android-manifest

我正在尝试从同一项目中的另一个模块开始一项活动。我使用Retrofit Client,并且在operation1,我想从另一个模块开始主要活动。我使用“从Android Studio Bar导入新模块”将模块导入了我的项目。

我尝试将Intent与if (isValidType) { if (ModelState.IsValid) { using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); Console.WriteLine("File uploaded! " + fileName); } } } 一起使用,但是它不起作用,我还尝试在清单中添加活动。我的项目Lab包含两个模块:app(com.example.lab)和home(he.kome.lis)模块。当我尝试在家里添加应用清单时,该活动为红色,并且我得到onResponse

这是我的应用清单清单:

Class.forName()

2 个答案:

答案 0 :(得分:1)

首先,您需要通过从以下位置更改其模块build.gradle插件来使导入的模块成为库模块:

apply plugin: 'com.android.application'

收件人:

apply plugin: 'com.android.library'

第二,如果您需要隐藏如何调用“活动”模块的实施细节,可以在库模块中使用导航器singleton class

public class Navigator {
    private Navigator(){}

    public static Navigator getInstance() {
        return NavigatorHolder.INSTANCE;
    }

    private static class NavigatorHolder {
      private static final Navigator INSTANCE = new Navigator();
    }

    public void navigateToMainActivity(Context context) {
      Intent intent = new Intent(context, LibrariesMainActivity.class);
      context.startActivity(intent);
    }
}

然后,您可以使用以下命令启动库模块的MainActivity:

Navigator.getInstance().navigateToMainActivity(this);

答案 1 :(得分:0)

似乎您没有正确将它们添加为依赖项 转到项目,右键单击,然后选择打开的模块设置,转到“依赖项”选项卡,然后单击右侧的“ +”按钮(在范围标签旁边),然后单击“模块”选项,然后选择所需的依赖项,然后单击“确定”