在某些情况下,会获取不到Context,所以用下面的方法,可以在任何地方都能获取到Context。
我们定制一个自己的Application类,用于管理全局的Context。
public class MyApplication extends Application{
private static Context context;
@Override
public void onCreate() {
context = getApplicationContext();
}
public static Context getContext(){
return context;
}
}
然后告诉系统,当程序启动时,初始化MyApplication类,而不是Application类就行了。在AndroidManifest.xml文件的<application>标签下进行指定就可以了。
<application
android:name="包名.MyApplication"
...
</application>
然后,不论在任何地方,都可以通过调用MyApplication.getContext()来获取Context了。