gpt4 book ai didi

android - 获取应用程序上下文返回 null

转载 作者:IT老高 更新时间:2023-10-28 22:20:06 25 4
gpt4 key购买 nike

以下架构被吹捧为从我的 android 应用程序中的任何位置获取应用程序上下文的方式。但有时执行 MyApp.getContext() 会返回 null。我尝试通过从 getContext() 中删除 static 来更改架构,以便执行 MyApp.getInstance().getContext()。它仍然返回 null。我该如何解决? 如何从应用内的任何位置获取应用的上下文?

public class MyApp extends Application {
private static MyApp instance;

public static MyApp getInstance() {
return instance;
}

public static Context getContext() {
return instance.getApplicationContext();
}

@Override
public void onCreate() {
super.onCreate();
instance = this;
}
}

最佳答案

onCreate() 中创建一个 getApplicationContext() (mContext) 的实例,然后调用 MyApp.getContext() 来自您应用中的任何位置,您将静态获取应用上下文。

public class MyApp extends Application {
private static Context mContext;

public static Context getContext() {
return mContext;
}

@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
}

记得在你的 AndroidManifest.xml

中声明
<application android:name="com.mypackage.mypackage.MyApp">
...
...
...
</application>

关于android - 获取应用程序上下文返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21994612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com