有没有办法在静态方法中获取当前的Context
实例?
我之所以寻找这种方式,是因为我讨厌每次“Context”实例发生变化时都保存它。
发布于 2011-02-25 14:37:01
执行以下操作:
在Android Manifest文件中,声明以下内容。
<application android:name="com.xyz.MyApplication">
</application>
然后编写类:
public class MyApplication extends Application {
private static Context context;
public void onCreate() {
super.onCreate();
MyApplication.context = getApplicationContext();
}
public static Context getAppContext() {
return MyApplication.context;
}
}
现在,无论在哪里,都可以静态地调用MyApplication.getAppContext()
来获取应用程序上下文。
发布于 2010-01-05 08:46:01
不,我不认为有。不幸的是,您不得不从Activity
或Context
的其他子类中调用getApplicationContext()
。此外,this问题也有一定的关联性。
发布于 2011-08-12 09:07:38
这取决于您使用上下文的目的。我能想到这种方法至少有一个缺点:
如果您尝试使用AlertDialog.Builder
创建AlertDialog
,则Application
上下文将无法工作。我相信您需要当前Activity
的上下文...
https://stackoverflow.com/questions/2002288
复制相似问题