如何从意图中获取上下文?

时间:2010-07-12 10:31:42

标签: android

AccountAuthenticator.java:

Intent intent = new Intent(context, AccountActivity.class);

AccountActivity.java:
在onCreate(Bundle aBundle)中我想说:

getIntent().getContext();

但getContext()不存在。

如何从意图中获取上下文?
因为它是在Intent构造函数中传递的,所以我希望它在到达AccountActivity时可用。

1 个答案:

答案 0 :(得分:33)

  

如何从中获取上下文   意图?

你没有。

  

因为它在Intent中传递   构造函数,我期待它   抵达时可用   AccountActivity。

Context仅用于帮助创建Intent路由信息。由于Intent可以(经常)住在任何Context之外,Intent无法保留Context

  

我需要服务(即上下文)   创建了Intent,以便能够   创建一个AsyncTask接收它   构造函数。

抱歉,你不能这样做。

  

如果我不这样做,我得到:   “java.lang.SecurityException:caller   uid 10027与...不同   认证者的uid“,因为   AsyncTask正在做Accountmanager am =   Accountmanager.get(上下文)。

这与AsyncTask无关。这与进程有关,而与线程无关。