Pregunta

He declarado que el modo de inicio de mi actividad es singleTask.Si yo iniciar mi aplicación, pulsar el botón de inicio, ir a un cliente de correo electrónico (gmail en este caso) y obtener una vista previa de un archivo adjunto con mi aplicación, estoy experimentando una excepción de seguridad en las versiones de Android 2.3 y posteriores, que dice que no tengo los permisos para acceder a gmail archivos adjuntos.La excepción no ocurre en versiones anteriores y si lo hago no use singleTask como launchMode.

La excepción ocurre en esta línea-

mContext.getContentResolver().openInputStream(intent.getData());

donde mContext es el contexto de la actividad.

¿Es este un problema conocido?

Cualquier ayuda será muy apreciada.

Gracias,

Akshay

¿Fue útil?

Solución

Había publicado esto en desarrolladores de Android y recibí esta respuesta de Dianne Hackborn-

"Lo siento, es probable que se trate de un error en 2.3 al intentar otorgar un permiso de URI a una instancia de actividad que ya se está ejecutando. Voy a ver esto. Mientras tanto, la única solución puede ser nouse singleTask para la actividad que se inicia para obtener una vista previa de un archivo adjunto. En realidad, esto es lo que se prefiere, ya que su actividad de vista previa debe ejecutarse como su propia instancia como parte de la tarea de gmail ".

Otros consejos

El problema puede ocurrir porque la actividad de la intención llamada en la implementación 2.3 no se ajusta al requisito de launchMode:"standard" o launchMode:"singleTop" indicado en el android: descripción de launchMode .

Pero también sería útil echar un vistazo a este problema:El comportamiento de launchMode="singleTask" no es como se describe .Da miedo, es de esperar que su problema no esté arraigado allí y pueda resolverse con las versiones actuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top