编写Android库 - 使用自己的自定义Application类(getApplication)

时间:2012-02-29 12:18:08

标签: android

我正在编写一个Android库,我希望使用一个自定义Application类,可以从所有库的活动中访问(使用getApplication方法)。

问题是当我从我的一个库的活动中调用getApplication方法时,它会使用我的库返回应用程序的应用程序类(而不是我在库的Android清单中声明的​​自定义类)。 / p>

我当前的猜测(基于this answerofficial documentation)是使用我的库的应用程序还必须在其Android清单中声明自定义Application类 - 这是一个有问题的解决方案,因为该应用程序也可以拥有自己的自定义类(并且单个应用程序不能有多个自定义Application类,对吧?)。

有人能提供更好的解决方案吗? (或验证此解决方案是否准确)

任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:1)

您的自定义应用程序实现和AndroidManifest.xml没有任何问题。在代码中使用自定义应用程序的正确方法是强制转换

假设您有一个扩展android.app.Application的MyApplication,以获取MyApplication而不是Application:

Boolean runInTest = ((MyApplication) getApplication()).isRunInTet();

希望有所帮助。