我有一些 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/