在库模块的清单中,我需要使用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>
不幸的是,不可能有多个Application
类,但是有解决方法,这取决于您要执行的操作。
Android应用程序只能有一个Application
子类用作应用程序上下文。
这是因为应用程序中的每个Context
都有对其的引用,可以通过getApplicationContext()
进行检索。没有提供多个应用程序上下文的规定,也没有办法指定是要“库应用程序上下文”还是“主应用程序上下文”。]
假设您要做的是在应用启动时初始化库,您可以简单地创建一个为ContentProvider
的空android:exported="false"
并使用其onCreate
方法进行初始化。这将在应用程序的Application.onCreate
之前调用。