0

我正在开发一个由两个库项目组成的应用程序。这两个库项目都由实际应用程序使用。

第一个库项目可以看作是主库项目,因为它包含整个应用程序仪表板形式的主菜单。从仪表板中的一个条目,用户可以开始一项活动,该活动是第二个图书馆项目的一部分。

可以从此活动开始的所有活动以及任何进一步的活动也是第二个图书馆项目的一部分。所以第二个图书馆项目对第一个图书馆项目一无所知。

在操作流程结束时,用户应该通过单击一个按钮返回到仪表板活动。所以我需要清除除第一个活动(仪表板)之外的整个活动堆栈。通常我会通过使用标志 FLAG_ACTIVITY_CLEAR_TOP 启动仪表板活动来做到这一点。由于我需要历史记录,因此也不能选择使用 FLAG_ACTIVITY_NO_HISTORY。

但是正如我之前提到的,第二个库项目的任何组件都不应该对主库项目一无所知。因此,使用标志调用仪表板活动不是解决方案。

所以我正在寻找一种方法来完成第二个库项目的所有活动,而不是主库项目的仪表板活动。

4

1 回答 1

2

当您的仪表板调用第二个活动时,将类名(作为字符串)捆绑在一个意图中。在您的第二个活动中,您可以使用该类名来创建返回的意图。

用于MyActivity.getClass().getName()形成字符串。

用来Class.forName(className)让课堂回来。

编辑:您可能还需要获取完整的包名称forName()才能工作:.getClass().getPackage().getName()

于 2012-09-24T13:54:27.997 回答