如何从图书馆开始主要活动?

use*_*897 5 android android-library

我正在使用项目 A 和库项目来开发我的 Android 应用程序。这两个项目都有活动。如果我当前在项目 A 中,那么只需导入它就可以轻松地在库项目中启动一个活动。但是,如果我来自图书馆项目中的活动,我不确定如何启动项目 A 中的活动。我试图使库项目独立于项目 A 的包名称,因为我将把它用于多个应用程序。关于如何做到这一点有什么想法吗?谢谢。

Fun*_*onk 3

我相信这是最简单的答案:您需要一个存在于库中的对象,您可以在项目中扩展它。

想象一下,您的图书馆有一个 LibraryApplication,您的 ProjectApplication 扩展了它。LibraryActivity 可以调用:

((LibraryApplication)getApplication()).startNewActivity(this, "goHome")
Run Code Online (Sandbox Code Playgroud)

您的 ProjectApplication 实现了这个新方法:

public void startNewActivity(Context context, String action) {
    if("goHome".equals(action)) {
        startActivity(context, ProjectHomeActivity.class);
    }
}
Run Code Online (Sandbox Code Playgroud)