
应用程序现在安装正确,但我的应用程序上下文为空.以前有没有经历过这样的事情?
如果您需要代码示例,请告诉我,但由于应用程序崩溃,因为它无法获取应用程序上下文,我无法想到任何可以解释该问题的代码.
获取我的应用程序上下文如下:
TrackerApplication.getContext();public class TrackerApplication extends MultIDexApplication {private static Context context;public TrackerApplication() { super(); context = this;}@OverrIDeprotected voID attachBaseContext(Context base) { super.attachBaseContext(base); MultIDex.install(this);}@OverrIDepublic voID onCreate() { super.onCreate(); Fabric.with(this,new Crashlytics());}public static Context getContext() { return context;}} 然后当我打电话:
TrackerApplication.getContext().getSharedPreferences("MySettings",Context.MODE_PRIVATE); 我得到一个NullPointer.我的应用程序上下文为空.
添加了一个测试来解释这个问题.在我的Launch活动中,我添加了以下代码:
if (TrackerApplication.getContext() == null) { Log.i("TEST","Context is null"); } else { Log.i("TEST","What is the issue?"); } LogCat始终打印出Context为null.
解决方法 最后通过执行以下 *** 作来解决此问题:1-从app完全删除了multIDex代码.
2-清理项目.
3-建造项目.
4-再次将所有multIDex代码添加到项目中.
5-再次清理并重建项目.
6-它刚开始工作……
不知道为什么它第一次没有工作,但现在它工作正常.
总结以上是内存溢出为你收集整理的android – 使用MultiDexApplication会导致applicationContext变为null全部内容,希望文章能够帮你解决android – 使用MultiDexApplication会导致applicationContext变为null所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)