Context用到的地方很多,大多数情况,传一个Activity就可以了。不过,对于全局存在的对象,比如单例,当需要context的话,用哪个呢?所以,如果有一个全局的Context,能带来很多方便。
自定义Application类
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
public static Context getContext() {
return context;
}
}
指定
在 AndroidManifest.xml 文件的<application>标签下进行指定
<application android:name="com.tencent.other.MyApplication"
...... >
......
</application>
使用
这样就已经实现了一种全局获取 Context 的机制,之后不管你想在项目的任何地方使用 Context,只需要调用一下 MyApplication.getContext()就可以了。
代码模板
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
// 获取全局context的静态接口
public static Context getContext() {
return context;
}