代码之家  ›  专栏  ›  技术社区  ›  Emil S.

getApplicationContext()在应用程序的onCreate()中返回null

  •  3
  • Emil S.  · 技术社区  · 6 年前

    好吧,我对这个问题不知所措,我不太明白。在我的应用程序中,我的应用程序类如下所示:

    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) . 不多,老实说,只有极少数用户,大多是安卓4和三星设备上的用户,大约50%的错误是后台运行的应用程序,但仍足以让至少两人投诉。我不知道怎么会这样。我不知道这怎么会发生<1%的用户。有没有人遇到过类似的事情,或者知道怎么做 sContext 在那一点上可以是空的吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Skizo-ozᴉʞS ツ    6 年前

    一定要把这个放在你的口袋里 manifest.xml

    <application android:name="packagename.MyApplication"/>
    

    我想问题出在这条车道上:

    SomeClass.someMethod(sContext.getString(R.string.some_string));
    

    getResources().getString()... 或者只是 getString(R.string.some_string) sContext.getString(...)