我在一个 Activity 中运行以下行,它在同一个应用程序中,但在不同的包中:
AppObject appObj = (AppObject)this.getApplication();
// FYI: AppObject is my extension class of Application.
它只返回一个空指针,而当我将它移动到“主”包并从那里运行它时,它会按预期返回应用程序引用。
我已经在我的 AndroidManifest.xml 中使用完整的限定类名定义了 Activity ,因为它在另一个包中:<activity android:name="com.foo.bar.TestActivity"></activity>
更新:如以下问题中所建议的 android:name="AppObject"
已经在<application>
AndroidManifest.xml 的标签
最佳答案
在 Activity 的 onCreate()
方法中调用 getApplication()
很重要,而不是在构造函数中。
关于Android:this.getApplication() 返回 NULL 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542797/