美文网首页Android 成长笔记
Android 获取全局 Context 对象

Android 获取全局 Context 对象

作者: 赵者也 | 来源:发表于2018-01-09 17:24 被阅读7次

该方法主要是利用 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们就可以利用这一点,定制一个全局的 Context 对象。

下面是自定义 Application 类 MyApplication 的代码:

import android.app.Application;
import android.content.Context;

/**
 * Created by toby on 18-1-9.
 */

public class MyApplication extends Application {
    private static Context context;

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

    public static Context globalContext() {
        return context;
    }
}

我们需要在 AndroidManifest.xml 中对原有的 Application 标签进行一些修改,主要是修改 Application 标签的 name 属性:

...
    <application
        android:name=".MyApplication"
        android:allowBackup="true"
...

使用的实例:

Toast.makeText(MyApplication.globalContext(), "设备正在晃动...",Toast.LENGTH_SHORT).show();

本文参考自 《Android 第一行代码》

相关文章

网友评论

  • Q大疯zi:不要随便声明变量context为static的,易发生内存泄露
    Q大疯zi:@赵者也 是的
    赵者也:此时需要注意传递给单例对象的 Context 最好是 Application Context。

本文标题:Android 获取全局 Context 对象

本文链接:https://www.haomeiwen.com/subject/gtrgnxtx.html