Android Intent Context Confusing

¿Puede alguien explicarme esto por favor:

Intent intent = new Intent(Context, AlarmReceiver.class); 

Nunca entendí y pienso seriamente que nunca lo haré si alguien no intenta explicarme esto en profundidad. Todo este contexto es tan confuso para mí. A veces funciona así:

 Intent intent = new Intent(getBaseContext(), AlarmReceiver.class); 

A veces no funciona así, pero sólo acepta:

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

A veces es:

 Intent intent = new Intent(this, AlarmReceiver.class); 

Etc etc y muchos otros.

Entiendo los fundamentos del contexto, pero ¿cuántos hay? ¿Y por qué eclipse me echan un error una vez y otra vez su multa? ¿Por qué necesitamos declarar el contexto a veces? :

 Context context; 

No soy capaz de encontrar el contexto adecuado para todas las situaciones ¿cómo sé cuál es el correcto en cada situación?

3 Solutions collect form web for “Android Intent Context Confusing”

En primer lugar, permítanme explicar cuál es el contexto es un poco mejor, entonces vamos a ir a cómo se puede utilizar y recibir. Esencialmente, el contexto es una referencia a vincular sus recursos a su programa. A cada objeto se le da su propio contexto, que contiene los recursos necesarios para establecer ese objeto. Es necesario que se creen muchos objetos, y para obtener información de identificación del programa, entre otros propósitos. Esto hace que sea invaluable para establecer nuevas vistas y actividades, pero también puede ser utilizado para otros fines. Vea también esta respuesta para más información.

El contexto para un artículo puede provenir de una variedad de lugares. A veces se almacena y tiene que ser recuperado, a veces se hereda. Básicamente, esta es la programación orientada a objetos.

Sólo para darle algunos ejemplos:

La actividad hereda el contexto. Por lo tanto, si usted está en una actividad, sólo tiene que pasar a sí mismo para utilizar el contexto. También contiene un puntero a getBaseContext() . Es posible que de vez en cuando tenga que hacer referencia a eso, si necesita todo el contexto de la aplicación, pero lo más probable es que no lo hará por un tiempo.

La vista no hereda el contexto. Sin embargo, tiene un método getContext () . Si necesita obtener un contexto de una vista, esta es la forma de obtenerlo. Este contexto no estará completo, pero sólo tendrá el contexto para el contenido de la vista.

Los fragmentos también no heredan el contexto. Contienen un método getActivity () , que si el Fragmento está activo, devolverá la actividad, que es el contexto para el Fragmento.

Los BroadcastReceivers tampoco heredan el contexto. De hecho, no contienen contexto en absoluto, sino que simplemente reciben el contexto actual cuando se recibe un evento (como onReceive (Contexto, Intención) )

Lo que entiendo por medio del contexto es environment.In términos simples contexto es el entorno de anything.So cuando usted está utilizando cualquier forma de contexto que tiene que decidir que lo que debe ser el entorno de las cosas para las que está utilizando el contexto.

Por ejemplo, si desea que algunos datos o campos permanezcan a través de la aplicación, debe definirla en la clase de aplicación.

Ahora, cuando obtenga el contexto de la aplicación en cualquiera de sus componentes de su aplicación, este campo que ha declarado en la clase de aplicación estará en su contexto. Por lo tanto, puede acceder a él.

Lo mismo es cierto para todo tipo de contexto.

Si alguna vez intenta usar alertDialog en el componente de servicio usando el contexto "this". Pruebe este y yo apuesto que seguramente obtendrá excepción como "este" representa el entorno de servicio cuando se utiliza en it.And como es el componente de fondo que puede ' T añadir ventana en that.Hence le dirá la excepción token malo.Que significa token generado para la vista circundante no es adecuado para alertDialog para mostrar.

Espero que esto te da una idea breve de lo que quieres.

Capacidades de Contexto

Las acciones comunes que puede tomar con seguridad con un determinado objeto de Contexto depende de dónde procedía originalmente. A continuación se muestra una tabla de los lugares comunes donde una aplicación recibirá un Contexto, y en cada caso lo que es útil para:

Introduzca aquí la descripción de la imagen

  1. Una aplicación puede iniciar una actividad desde aquí, pero requiere que se cree una nueva tarea. Esto puede coincidir con casos de uso específicos, pero puede crear comportamientos no estándar de la pila trasera en su aplicación y generalmente no se recomienda o se considera una buena práctica.
  2. Esto es legal, pero la inflación se hará con el tema predeterminado para el sistema en el que se está ejecutando, no lo que se define en la aplicación.
  3. Se permite si el receptor es nulo, que se utiliza para obtener el valor actual de una emisión pegajosa, en Android 4.2 o superior.

Artículo original aquí .

  • ¿Cómo el software anti-virus escanea programaticamente las aplicaciones Android instaladas (sin privilegios de root)?
  • Precisamente Sync Looped Audio con animación en Android
  • Objeto no bloqueado por subproceso antes de notificar () en onPostExecute
  • Proteger la cadena constante contra la ingeniería inversa
  • El método getOrientation () de Android devuelve resultados incorrectos
  • La conversión al formato de Dalvik falló: No se puede ejecutar dex: Los archivos múltiples dex definen Lcom / squareup / okhttp / Address;
  • Problema al convertir .docx al archivo pdf en android
  • Cálculo de intersecciones entre segmentos de línea
  • ¿Es posible generar una clase interna de una clase para compilar con un procesador de anotación?
  • Robolectric's Shadow Object y Mocking
  • ¿Cómo implementar una arquitectura REST y ContentProvider sencilla usando Modelos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.