我正在编写一个Android库,我希望使用一个自定义Application
类,可以从所有库的活动中访问(使用getApplication
方法)。
问题是当我从我的一个库的活动中调用getApplication
方法时,它会使用我的库返回应用程序的应用程序类(而不是我在库的Android清单中声明的自定义类)。 / p>
我当前的猜测(基于this answer和official documentation)是使用我的库的应用程序还必须在其Android清单中声明自定义Application
类 - 这是一个有问题的解决方案,因为该应用程序也可以拥有自己的自定义类(并且单个应用程序不能有多个自定义Application
类,对吧?)。
有人能提供更好的解决方案吗? (或验证此解决方案是否准确)
任何帮助将不胜感激..
答案 0 :(得分:1)
您的自定义应用程序实现和AndroidManifest.xml没有任何问题。在代码中使用自定义应用程序的正确方法是强制转换。
假设您有一个扩展android.app.Application的MyApplication,以获取MyApplication而不是Application:
Boolean runInTest = ((MyApplication) getApplication()).isRunInTet();
希望有所帮助。