【问题标题】:Can't open Activity from other module无法从其他模块打开活动
【发布时间】:2014-09-22 11:27:18
【问题描述】:

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

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

您是否在 AndroidManifest.xml? 中声明了此活动

除了引用新的module 之外,我还需要添加任何其他内容吗?

【问题讨论】:

  • 您是否确实将活动添加到您的 AndroidManifest.xml 中?
  • 你可以检查一下。 stackoverflow.com/questions/16545725/…
  • 在 Manifest 中声明 ImagePickerActivity 活动...
  • 谢谢。它真的没有在我的 AndroidManifest 中定义,但是,也许我不明白,我想使用一个 github 项目(github.com/giljulio/android-multiple-image-picker),如果我将此模块导入我的项目,我需要调用它的主要活动吗?当我这样做时,它会抛出一个异常,它无法识别其中的一些 R.id。模块清单是:

标签: android android-activity module android-manifest activitynotfoundexception


【解决方案1】:

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

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

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

【讨论】:

  • 是直接编辑build.gradle文件,还是Android Studio中有对话框可以使用?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    好吧,所以我迟到了几年。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-01-25
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多