application得到上下文,前提必须在application中的oncreate方法进行初始化。
解决:
public class AppUtils { private static Application application; public static void setApplication(Application application) { if (AppUtils.application != null) { throw new IllegalStateException("application already holded 'application'."); } AppUtils.application = application; } public static Context getContext() { return application.getApplicationContext(); } }
在 applicaition 类中进行初始化
@Override public void onCreate() { super.onCreate(); //设置全局Context AppUtils.setApplication(this); Fresco.initialize(this); initPackageName(); }
这样做 可通过
Context context = AppUtils.getContext();