有没有办法在不知道其类的情况下启动Activity,例如通过Intent Action?
背景是,我有两个模块,ModuleMain和ModulePushNotification。 ModuleMain依赖于ModulePushNotification。从ModulePushNotification我想在ModuleMain中启动一个Activity,但我无法添加依赖ModulePushNotification - > ModuleMain因为这会产生循环依赖。
因此,我无法以这种方式开展活动:
startActivity(new Intent(this, Main.class));
我尝试使用Intent Action启动Activity:
Intent intent = new Intent("com.android.main.MY_MAIN");
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
...在ModuleMain中使用此Manifest:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.android.main.MY_MAIN" />
<category android:name="ANDROID.INTENT.CATEGORY.DEFAULT" />
</intent-filter>
</activity>
...但这会产生异常:
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.main.MY_MAIN cat=[android.intent.category.DEFAULT]
有没有办法启动应用程序的主要活动,而无需重组项目/依赖项?
答案 0 :(得分:0)
尝试这样做。
Intent intent = new Intent();
intent.setAction("com.android.main.MY_MAIN");
startActivity(intent);