我添加了对新模块的引用,并尝试从中打开
Activity
。
它 throws
一个 Exception
上面写着:
android.content.ActivityNotFoundException:无法找到显式的 活动课{
com.giljulio.imagepicker.ui/com.giljulio.imagepicker.ui.ImagePickerActivity };
您是否在您的
AndroidManifest.xml?
中声明了此活动
除了引用新的
module
之外,我还需要添加其他内容吗?
您必须在 gradle 依赖项中定义(在要调用另一个模块活动的模块中):
dependencies{
...
compile project(':yourModuleName')
...
}
添加此同步 gradle 后,现在您可以在模块中使用该活动了。
这样的用户。这会对你有帮助
Intent intent = null;
try {
intent = new Intent(this,
Class.forName("ir.test.testlibary1.HelloWorldActivity"));
startActivity(intent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
好吧,所以我晚了几年。
问题不在于您没有 @arpit 建议的 gradle 依赖项,而是您报告了运行时异常。另外,@Aman 的建议将有助于处理异常,但它不会帮助您启动活动。
如果理解正确,您有一个多模块应用程序(假设 A-app 模块和 B-lib 模块)并且需要从一个 B 调用另一个 lib-module(C)。
如果是这种情况,您需要在模块的 (B) Manifest.xml 标签内声明该库的活动 (C)。
如果尚未设置,您还需要启用清单合并。
如果你想删除硬编码,可以按照我找到的方法。 我为此目的使用了 Hilt。