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

时间:2016-09-01 05:23:50

标签: android android-intent module android-library

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

1 个答案:

答案 0 :(得分: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>

在您的图书馆中,只需拨打此电话即可打开MainActivity

Intent intent = new Intent("com.example.main.mainactivity");
startActivity(intent);

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