一般获取context的方法

1.Activity.this的context

(一般用法)返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁

2.getApplicationContext()

返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁

3.getBaseContext()

返回由构造函数指定或setBaseContext()设置的上下文

4.getActivity()

多用于fragment中

但是问题来了!

一般方法在一般的地方都能获取,但是特殊的地方呢,上述情况都不太管用了,如工具类。但是有时过多时就会觉得过于频繁。那么有什么一劳永逸的方法,答案就是使用自定义Application。

废话少说,上干货!


自定义Application步骤

1.写一个新的类继承Application,代码如:

/**
* Author: ZhouJianbin周健彬
*/
public class MyApplication extends Application {
<span style="color:#cc7832;">private static </span>Context <span style="color:#9876aa;"><em>context</em></span><span style="color:#cc7832;">;

@Override

public void onCreate() {

super.onCreate();

context = getApplicationContext();

initXunFei();

}

/**

* 获取全局上下文*/

public static Context getContext() {

return context;

}

}

2.添加在manifest中<application>中加入android:name="MyApplication"

<application
android:name="MyApplication" >

3.然后使用只要需要context但又获取不得或获取麻烦的话,只要使用:

MyApplication.getContext()

注意:最好是在不得已的情况下使用上述方法来获取context,而不是只要用到context就使用MyApplication.getContext(),因为这涉及到View等存在生命周期的问题。如toast要用到的context就要使用Activvity.this,否则可能报错。(题外话:如果这么容易被代替,google又不是傻子,早就淘汰了)

转载请注明出处,谢谢!

Android获取Context(任意位置任意地方,全局上下文)的更多相关文章

  1. android获取Context

    如果在Activity方法中,直接使用this. 如果在Activity内部类中,使用Activity.this

  2. 在任意位置获取应用程序CONTEXT

    Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获 ...

  3. Android 全局获取 Context 与使用 Intent 传递对象

    =====================全局获取 Context======================== Android 开发中很多地方需要用到 Context,比如弹出 Toast.启动活 ...

  4. Android 如何全局获取Context

    有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context. 在Android中,提供了一个类Application,当应用程序启动 ...

  5. Android点击其他任意位置收起软键盘

    在Android应用开发中,经常出现这样的需求,用户在输入文字的过程中,可能不想继续输入了,通过滑动或者点击其他位置(除软键盘和EditText以外的任何位置),希望能够自动收回键盘,这个功能可能有些 ...

  6. Android开发之全局获取Context的技巧

    转自<第一行代码-Android>进阶篇 这本书对于入门来说确实很棒,很简单明了的介绍了Android开发中涉及到的方方面面,对我的帮助很大,同时记录一些该书中一些对我以后开发有用的东西, ...

  7. Android获取全局Context的方法

    Android获取全局Context的方法 Android--应用全局获取Context - 超宇的博客 - CSDN博客https://blog.csdn.net/chaoyu168/article ...

  8. Android 获取全局Context的技巧

    回想这么久以来我们所学的内容,你会发现有很多地方都需要用到Context,弹出Toast的时候需要.启动活动的时候需要.发送广播的时候需要.操作数据库的时候需要.使用通知的时候需要等等等等.或许目前你 ...

  9. android#全局获取Context的技巧

    参考<第一行代码>——郭霖 回想这么久以来我们所学的内容,你会发现有很多地方都需要用到Context,弹出Toast的时候需要.启动活动的时候需要.发送广播的时候需要.操作数据库的时候需要 ...

随机推荐

  1. 【Codeforces Round #434 (Div. 1) B】Polycarp's phone book

    [链接]h在这里写链接 [题意] 给你n个电话号码. 让你给每一个电话号码选定一个字符串s; 使得这个串s是这个电话号码的子串. 且不是任何一个其他电话号码的子串. s要求最短. [题解] 字典树. ...

  2. thinkphp模拟请求和参数绑定

    thinkphp模拟请求和参数绑定 一.总结 1.网页传过来的参数是可以修改的:get或者post等方式 传过来的参数是可以修改的  dump($request->get(['id'=>2 ...

  3. 【转载】zookeeper数据模型

    [转载请注明作者和原文链接,  如有谬误, 欢迎在评论中指正. ] ZooKeeper的数据结构, 与普通的文件系统极为类似. 见下图: 图片引用自developerworks 图中的每个节点称为一个 ...

  4. 任哲<<μC/OS>>

    从第二章开始啦: 程序控制块(TCB)  重要概念  相当于对应程序块的学生证,学号,,, 上面的图是一个简单的程序控制块,还会有复杂的程序控制块,也许是嵌套的两级的: 链表就相当于老师手中的花名册, ...

  5. 数据结构与算法实验题 6.1 s_sin’s bonus

    数据结构与算法实验题 6.1 s_sin's bonus ★实验任务 正如你所知道的 s_sin 是一个非常贪玩的人 QAQ(如果你非常讨厌他请直接从第二段开 始看),并且令人感到非常遗憾的是,他是一 ...

  6. 11、DMA操作说明

    先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容:否则,就 称为“ 不命中”,CPU只好去内 ...

  7. occcont.cpp 925

    将InitInstance()中调用的 InitATL() 替换为 AfxOleInit()即可.

  8. chain rule 到 Markov chain

    1. 联合概率(joint distribution)的链式法则 基于链式法则的 explicit formula: p(x1:n)===p(x)p(x1)∏i=2np(xi|x1,-,xi−1)∏i ...

  9. 使用openoffice转换ms_office to pdf

    java源代码: package com.jeecms.common.office2pdf; import java.io.File; import java.io.FileInputStream; ...

  10. perl对比两个文件的行

    perl对比两个文件的行 对比两个文件的各行,得到A与B相同的行/A与B不相同的行 主要功能 得到相同行 得到A中包含,B不包含的行 得到B中包含,A中不包含的行 具体执行情况 Perl代码 #!/u ...