在Android开发中,有时我们需要在工具类中Toast一个弹出框提示、写一个Notification对象做弹出通知或是获取SharePreference里面的数据等等,这些都需要去获取一个上下文对象的。
这里提供一个方法:
自定义一个BaseContext类,继承Application类,定义一个静态Context,在onCreat()方法中通过getApplicationContext()获取一个上下文对象,然后再定义一个静态getContext()方法供类调用,代码如下:
public class BaseContext extends Application {
private static Context mContext;
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext(){
return mContext;
}
}
另外需要在清单文件AndroidManifest.xml中的<application中添加一个name的属性:
这样就封装完成了,现在只需要在工具类中直接调用BaseContext.getContext()就是一个上下文对象了。