Android Studio 如何在Android中调用另一个模块中的Activity(属于一个模块)?

iaqfqrcu  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(210)

这里的场景:我有2个模块(在Android Studio中,文件->新建->新建模块)在我的单个应用程序。
1.模块A
1.模块B
模块A(它不是一个库项目。它的gradle以apply plugin:'com.android. application'开始)。
模块B(也不是库模块)。
在模块B中,我需要调用属于模块A的Activity(比如MainActivity)。

模块A清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.abc.emergencycontacts">
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true">
<activity android:name=".EmergencyContactsActivity" android:theme="@style/AppTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

    </application>

</manifest>

字符串
模块B清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.abc.secondaryactivity">

    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:supportsRtl="true">

        <activity android:name=".BaseAppActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        </activity>
    </application>

</manifest>


我该怎么做?
请注意,我不能在模块B中添加模块A的依赖项,因为模块A不是库模块。
等待您宝贵的回复。

g2ieeal7

g2ieeal71#

要从任何应用程序启动任何Activity,您只需执行以下操作:

Intent intent = new Intent();
intent.setClassName("packageName", "className");
startActivity(intent);

字符串
您不需要在编译时引用该Activity的源代码。
这将解决您所提出的问题。

相关问题