startActivityForResult de ActivityGroup?

Parece que no puedo obtener CUALQUIER resultado cuando bash iniciar una actividad de un grupo de actividades. He puesto un resultado de actividad en la actividad y el grupo de actividades? Específicamente, estoy tratando de dejar que el usuario elija una foto / video de Intent.ACTION_GET_CONTENT, pero nunca me devuelve nada. ¿Qué estoy haciendo mal?

Así es como llamo al código:

Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT); pickMedia.setType("video/*"); startActivityForResult(pickMedia,12345); 

¿Algunas ideas?

He tenido un problema similar. Tuve un ActivityGroup administrando subactividades. Una de las subactividades llamó a un bash externo similar (externo a mi aplicación). Nunca llamó a onActivityResult dentro de la subactividad que lo inició.

Finalmente descubrí / recordé que el problema se debe a que Android solo permitirá una capa anidada de subactividades … es decir, las subactividades no pueden anidar subactividades. Para resolver esto:

  1. llame a getParent().startActivityForResult() desde su getParent().startActivityForResult()
  2. su padre (el grupo de actividades) podrá manejar onActivityResult . Así que creé una subclase de ActivityGroup y onActivityResult esto en onActivityResult .
  3. Puede volver a enrutar ese resultado a la subactividad si lo necesita. Simplemente obtenga la actividad actual mediante getLocalActivityManager().getCurrentActivity() . Mis handleActivityResult(requestCode, resultCode, data) heredan de una actividad personalizada, así que agregué un handleActivityResult(requestCode, resultCode, data) en esa subclase para que el ActivityGroup llame.

En tu actividad principal

 protected void onActivityResult(int requestCode, int resultCode, Intent intent){ if (requestCode == YOUR_REQUEST_CODE) { CHILD_ACTIVITY_NAME activity = (CHILD_ACTIVITY_NAME)getLocalActivityManager().getCurrentActivity(); activity.onActivityResult(requestCode, resultCode, intent);}} 

Entonces se ejecutará la actividad de su hijo en onActivityResult.

    Intereting Posts