如何将Intent从Library Module中的活动发送到Main Applications的活动

Kar*_*eer 4 android module android-intent android-library

我试图将库模块中的活动的意图发送到主应用程序中的活动.但是无法发送,因为库模块不能依赖主应用程序导致循环依赖.有没有办法做到这一点?

Mis*_*rdi 5

您不需要MainActivity在库中引用类名.只需添加intent-filterMainActivity您的主应用程序清单:

<activity
android:name=".MainActivity">
    <intent-filter>
         <action android:name="com.example.main.mainactivity" />
         <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

在您的图书馆中,只需将其打开即可MainActivity:

Intent intent = new Intent("com.example.main.mainactivity");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

注意:定义intent-filter活动隐式设置android:exportedtrue.这意味着其他应用可以使用相同的意图来启动您的活动.如果是问题,请使用权限来限制您的活动.