无法从其他模块打开Activity

问题描述 投票:0回答:4

我添加了对新模块的引用,并尝试从中打开

Activity
。 它
throws
一个
Exception
上面写着:

android.content.ActivityNotFoundException:无法找到显式的 活动课{
com.giljulio.imagepicker.ui/com.giljulio.imagepicker.ui.ImagePickerActivity };

您是否在您的

AndroidManifest.xml?

中声明了此活动

除了引用新的

module
之外,我还需要添加其他内容吗?

android android-activity module android-manifest activitynotfoundexception
4个回答
6
投票

您必须在 gradle 依赖项中定义(在要调用另一个模块活动的模块中):

dependencies{
     ...
     compile project(':yourModuleName')
     ...
}

添加此同步 gradle 后,现在您可以在模块中使用该活动了。


2
投票

这样的用户。这会对你有帮助

Intent intent = null;
try {
    intent = new Intent(this, 
       Class.forName("ir.test.testlibary1.HelloWorldActivity"));
    startActivity(intent);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

0
投票

好吧,所以我晚了几年。

问题不在于您没有 @arpit 建议的 gradle 依赖项,而是您报告了运行时异常。另外,@Aman 的建议将有助于处理异常,但它不会帮助您启动活动。

如果理解正确,您有一个多模块应用程序(假设 A-app 模块和 B-lib 模块)并且需要从一个 B 调用另一个 lib-module(C)。

如果是这种情况,您需要在模块的 (B) Manifest.xml 标签内声明该库的活动 (C)。

如果尚未设置,您还需要启用清单合并。


0
投票

如果你想删除硬编码,可以按照我找到的方法。 我为此目的使用了 Hilt。

© www.soinside.com 2019 - 2024. All rights reserved.