2010-07-12 10 views
28

AccountAuthenticator.java:¿Cómo obtengo el contexto de la intención?

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

AccountActivity.java:
En onCreate (Bundle aBundle) Quiero decir:

getIntent().getContext(); 

Pero getContext() no existe.

¿Cómo obtengo el contexto de la intención?
Dado que se aprobó en el constructor Intent, esperaba que estuviera disponible al llegar a AccountActivity.

+0

¿por qué necesita el Contexto de la intención? – Maragues

+0

Necesito el Servicio (es decir, el Contexto) que creó el Intento, para poder crear una AsyncTask llevándolo al constructor. Si no hago eso, obtengo: "java.lang.SecurityException: caller uid 10027 es diferente del uid del autenticador", ya que AsyncTask está haciendo Accountmanager am = Accountmanager.get (context). – user77115

+0

Para mí, estaba tratando de usar TDD y verificar que el contexto correcto se establecía a partir del código bajo prueba. – PseudoNoise

Respuesta

32

¿Cómo obtengo el contexto del intención?

Usted no lo hace.

Ya que está aprobada en la Intención constructor, esperaba que fuera disponibles a la llegada a la AccountActivity.

El Context solo se utiliza para ayudar a crear la información de enrutamiento Intent. Dado que un Intent puede (y con frecuencia lo hace) vivir fuera de cualquier Context, un Intent no puede retener un Context.

que necesita el servicio (es decir, contexto) que creó la Intención, con el fin de ser capaces de crear un AsyncTask teniendo en el constructor.

No puede hacer esto, lo siento.

Si no hago que me sale: "java.lang.SecurityException: persona que llama uid 10027 es diferente que el fluido del autenticador", ya que el AsyncTask está haciendo Accountmanager am = Accountmanager.get (contexto).

Esto no tiene nada que ver con AsyncTask. Esto tiene que ver con los procesos, no con los hilos.

+0

Explicación perfecta. Kudos :) CommonsWare –

Cuestiones relacionadas