Android 开发问题:在无法直接获取或者通过传递获取 Context 的地方如何获取 Context

复制代码
在无法直接获取或者通过传递获取 Context 的地方,例如,工具类、静态方法中
如何获取 Context,调用 getExternalFilesDir 等方法?
处理策略
  1. 使用全局 Application 单例
java 复制代码
public class MyApplication extends Application {

    private static MyApplication myApplication;
    private static Context context;

    @Override
    public void onCreate() {
        super.onCreate();

        myApplication = this;
        context = getApplicationContext();
    }

    public static MyApplication getMyApplication() {
        return myApplication;
    }

    public static Context getContext() {
        return context;
    }
}
  1. AndroidManifest.xml 中声明
xml 复制代码
<application
    android:name=".application.MyApplication"
    ...>

    ...
</application>
  1. 在无法直接获取或者通过传递获取 Context 的地方调用
java 复制代码
File externalFilesDir = MyApplication.getMyApplication().getExternalFilesDir(null);
java 复制代码
// 或者

File externalFilesDir = MyApplication.getContext().getExternalFilesDir(null);
相关推荐
维天说2 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
执明wa2 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder3 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
Zane19943 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
二流小码农3 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
噢,我明白了3 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品3 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘4 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
用户69371750013844 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端