好吧,我对这个问题不知所措,这对我来说没有意义。在我的应用程序中,我的应用程序类如下所示:
public class MyApplication extends MultiDexApplication {
private static Context sContext;
@Override
public void onCreate() {
super.onCreate();
sContext = getApplicationContext();
SomeClass.someMethod(sContext.getString(R.string.some_string));
[...]
}
[...]
}
该应用程序本身运行一些服务。现在出于某种原因,我收到了用户收到
sContext.getString(R.string.some_string)
的 NullPointerException 的报告。不是很多,老实说,很少有用户,主要是在 Android 4 和三星设备上,大约 50% 的错误是应用程序在后台运行,但仍然足以让至少两个人提示。我不知道这怎么会发生。我不知道对于 sContext 在那时如何为空? 最佳答案
确保您的manifest.xml
中有这个
<application android:name="packagename.MyApplication"/>
我猜问题出在这条线上:
SomeClass.someMethod(sContext.getString(R.string.some_string));
因此,您可以使用
getResources().getString()...
或仅使用getString(R.string.some_string)
而不是sContext.getString(...)
来完成此操作关于android - getApplicationContext() 在 Application 的 onCreate() 中返回 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52697458/