我试图从库模块中的活动发送一个意图到主应用程序中的活动,但无法发送,因为库模块不能依赖于导致循环依赖的主应用程序。有什么办法可以做到吗?
您不需要在库中引用MainActivity
类名。只需在主应用程序清单中添加intent-filter
到MainActivity
:
<activity
android:name=".MainActivity">
<intent-filter>
<action android:name="com.example.main.mainactivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在库中调用这个打开MainActivity
:
Intent intent = new Intent("com.example.main.mainactivity");
startActivity(intent);
注意:为activity定义intent-filter
隐式地设置android:exported
为true
。这意味着其他应用程序可以使用相同的意图来启动你的活动。如果这是一个问题,使用权限来限制您的活动。