java - 从模块调用MainActivity

标签 java android android-intent

我有一些 Android 模块,它们都依赖于同一个库模块来实现业务逻辑。

com.example.api
-> com.example.app1
-> com.example.app2
-> com.example.app3

现在,我尝试从库中获取当前的 MainActivity (android.intent.action.MAIN)。在调用操作时没有指定所需的 Activity ,我会获得所有设备应用程序的 IntentPicker,其中包含 MAIN 操作。

如何获取当前 MainActivity 的类路径? 即com.example.app1.MainActivity

最佳答案

作为模块,主应用程序的一个单独部分和一个模块基本上包含应用程序的库类和资源。可以单独创建和测试模块。当您在项目中使用模块时,您的主应用程序可以使用该模块的资源,但您的模块无法使用主应用程序的资源。

为了满足您的需求,您可以使用包管理器从模块中调用主要 Activity 。详情可以查看developer site 。调用类似于

Intent appMainIntent = getPackageManager().getLaunchIntentForPackage("com.app.myproject");
startActivity(appMainIntent);

只是通知您,如果找不到包,appMainIntent 可能为 null。因此,请检查代码中的空指针异常。

关于java - 从模块调用MainActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56492354/

相关文章:

java - 对 SSL 握手的澄清

android - ConstraintLayout 无法与 Android XML Preview 中的其他类一起实例化

java - 尽管用户已登录,Android firebase 数据库权限仍被拒绝

java - 更改省电模式的状态(开/关)

java - 为什么 setVisibility() 在按下按钮后不使我的按钮和布局可见?

java - 防止执行 ServletContainerInitializer 或如何使用绝对顺序

java - 关于 Java Web Start 的问题

android - 在 Android 中为通用文件选择哪种 mimeType?

java - 带有自定义对象的 ArrayList 我们如何检查列表中的对象是否包含 1 个数据成员值 isCorrect

java - 适用于 Android 的 Swing 库?