当我尝试使用意图从主项目传递到库项目时,它工作正常但是.....当我尝试从库项目传递到主项目时,它无法识别主项目中的类。
我尝试在我的图书馆项目中写下这个意图:
Intent intent = new Intent(this,com.example.uploadvideo.class);
startActivity(intent);
我将我想要连接的两个活动添加到主项目和库项目的清单中。
当我尝试使用意图从主项目传递到库项目时,它工作正常但是.....当我尝试从库项目传递到主项目时,它无法识别主项目中的类。
我尝试在我的图书馆项目中写下这个意图:
Intent intent = new Intent(this,com.example.uploadvideo.class);
startActivity(intent);
我将我想要连接的两个活动添加到主项目和库项目的清单中。
库项目不知道主项目。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
库项目包含可共享的 Android 源代码和资源,您可以在 Android 项目中引用它们。当您有想要重用的公共代码时,这很有用。库项目不能安装到设备上,但是,它们会在构建时被拉入 .apk 文件。
换句话说,图书馆项目将被引用。
从库中调用主项目的意图有什么意义。
您实际上正在渲染库项目以处理当前主项目以外的项目效率低下..
开始下一个活动:
Intent intent = new Intent(this,com.example.UploadVideo.class);
startActivity(intent);
因为目前您在第二个参数中将错误的活动名称传递给 Intent 构造函数