应用程序和库模块清单文件中的多个应用程序类

问题描述 投票:1回答:1

在库模块的清单中,我需要使用Application类。是否可以在Android中执行此操作?

清单:

<application
    android:name="com.compnay.app.App"
    android:allowBackup="true"
    android:label="@string/app_name"
    >
</application>

模块库清单:

<application
    android:name="com.example.mymodule.App"
    android:allowBackup="true"
    android:label="@string/app_name"
    >
</application>

android android-library android-application-class
1个回答
0
投票

不幸的是,不可能有多个Application类,但是有解决方法,这取决于您要执行的操作。

Android应用程序只能有一个Application子类用作应用程序上下文。

这是因为应用程序中的每个Context都有对其的引用,可以通过getApplicationContext()进行检索。没有提供多个应用程序上下文的规定,也没有办法指定是要“库应用程序上下文”还是“主应用程序上下文”。]

假设您要做的是在应用启动时初始化库,您可以简单地创建一个为ContentProvider的空android:exported="false"并使用其onCreate方法进行初始化。这将在应用程序的Application.onCreate之前调用。

© www.soinside.com 2019 - 2024. All rights reserved.