cómo iniciar una actividad en el controlador

tratando de desencadenar una actividad desde un controlador. mi otra opción es activar desde un broadcastReceiver. esto es lo que he intentado y no funciona.

public void handleMessage(Context context, Intent intent) 
{
    Log.v(tag,"handling message.........");

    String messageString = intent.getExtras().getString("message");

    C2DMMessage newC2DMMessage = new C2DMMessage(messageString);


    Intent mIntent = new Intent(context,popad.class);
    context.startActivity(mIntent);

    String message_body = String.valueOf(newC2DMMessage.getParamValue("message_body"));
    Toast.makeText(context, "message was recieved!!!!: '" + message_body + "'", Toast.LENGTH_LONG).show();

}

abierto a sugerencias para una mejor manera de comenzar una actividad.

preguntado el 12 de junio de 12 a las 21:06

1 Respuestas

Cualquier error que obtenga en Logcat sería de gran ayuda en sus preguntas Intente cambiar:

Intent mIntent = new Intent(context,popad.class);
context.startActivity(mIntent);

a:

Intent mIntent = new Intent(context,popad.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mIntent);

Respondido el 12 de junio de 12 a las 21:06

¡Genial! ¡Me alegro de haber podido ayudar, por favor marque la respuesta como aceptada para que pueda obtener algunos puntos! :) :) :) - petey

¿podría explicar qué ha cambiado y cuál fue mi error? - jl

Claro, llamar a startActivity() fuera del contexto de una actividad requiere el indicador FLAG_ACTIVITY_NEW_TASK. En su caso, creo que está utilizando un receptor para iniciar alguna actividad en su aplicación por primera vez. O tal vez no, ya que no puedo ver cómo implementaste las cosas. De cualquier manera, aquí hay un artículo súper increíble para que le eches un vistazo y te encante: blog.akquinet.de/2010/04/15/… - petey

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.