0

当我尝试使用意图从主项目传递到库项目时,它工作正常但是.....当我尝试从库项目传递到主项目时,它无法识别主项目中的类。

我尝试在我的图书馆项目中写下这个意图:

Intent intent = new Intent(this,com.example.uploadvideo.class);
startActivity(intent);

我将我想要连接的两个活动添加到主项目和库项目的清单中。

在此处输入图像描述

4

3 回答 3

5

库项目不知道主项目。imo 首选的解决方案是使用操作而不是尝试直接在意图中加载类。如果您想重新使用该库,这也将为您提供更大的灵活性。

所以图书馆会做

Intent intent = new Intent("com.example.action_video_upload");
intent.setPackage(mContext.getPackageName()); // only deliver to host app

并且主项目将在清单中注册该意图

<intent-filter . . . >
    <action android:name="com.example.action_video_upload" />
</intent-filter>

更多信息可以在这里找到:developer.android.com

于 2013-05-09T09:24:48.143 回答
2

库项目包含可共享的 Android 源代码和资源,您可以在 Android 项目中引用它们。当您有想要重用的公共代码时,这很有用。库项目不能安装到设备上,但是,它们会在构建时被拉入 .apk 文件。

换句话说,图书馆项目将被引用。

从库中调用主项目的意图有什么意义。

您实际上正在渲染库项目以处理当前主项目以外的项目效率低下..

于 2013-05-09T09:06:46.367 回答
1

开始下一个活动:

Intent intent = new Intent(this,com.example.UploadVideo.class);
startActivity(intent);

因为目前您在第二个参数中将错误的活动名称传递给 Intent 构造函数

于 2013-05-09T09:03:22.750 回答