Rak*_*esh 5 android module android-intent android-activity android-studio
这是一个场景:我的单个应用程序中有2个模块(在Android Studio中,文件 - >新建 - >新模块).
模块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>
Run Code Online (Sandbox Code Playgroud)
模块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>
Run Code Online (Sandbox Code Playgroud)
我该如何实现?
请注意,我无法在模块B中添加模块A的依赖关系,因为模块A不是库模块.
等待您的宝贵回应.
要从任何应用程序启动任何Activity应用程序,您只需执行以下操作:
Intent intent = new Intent();
intent.setClassName("packageName", "className");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
您不需要Activity在编译时引用其源代码。
这将解决您所说的问题。
| 归档时间: |
|
| 查看次数: |
6469 次 |
| 最近记录: |