【问题】:在使用Toast、启动活动、发送广播等应用时,都需要Context,在活动中进行这些操作很容易通过getContext方法获取,但是脱离Activity类后,想随时获取Context就比较麻烦,通过参数传递这种方法不够简便。
【全局获取Context】:Android有一个Application类,应用程序启动时会自动初始化,基于以上问题,我们自己做一个Application类,便于管理Context.
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
public static Context getContext(){
return context;
}
}
然后在AndroidMainfest.xml中<application>标签下指定,包名要完全,和自己程序中的一致,这样程序启动时就会初始化MyApplication.。
【使用】这样,在程序中任何地方想使用Context,直接MyApplication.getContext()调用即可。