Question

Je l'ai déclaré le mode de lancement de mon activité soit singleTask. Si je lancer mon application, appuyez sur le bouton d'accueil, accédez à un client de messagerie (Gmail dans ce cas) et l'aperçu d'une pièce jointe en utilisant ma demande, je je éprouve une exception de sécurité sur les versions Android 2.3 et plus tard, qui dit que je ne dispose pas des autorisations d'accès gmail les pièces jointes. L'exception ne se produit pas sur les versions antérieures et si je pas utiliser singleTask comme launchMode.

L'exception se produit sur cette ligne -

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

où mContext est le contexte de l'activité.

Est-ce un problème connu?

Toute aide sera vraiment apprécié.

Merci,

Akshay

Était-ce utile?

La solution

J'avais posté ceci sur les développeurs Android et a obtenu cette réponse de Dianne Hackborn-

"Désolé, ce qui est probablement un bogue dans 2.3 à essayer d'accorder une autorisation URI à une instance d'activité qui est déjà en cours d'exécution. Je vais regarder pour cela. Dans le temps moyen, la seule solution peut être de ne pas utilisation singleTask pour l'activité lancée à un aperçu d'une pièce jointe. Ceci est en fait la chose préférée à faire, puisque l'activité de votre aperçu devrait être exécuté en tant que sa propre instance dans le cadre de la tâche gmail. "

Autres conseils

Le problème peut se produire parce que l'activité de l'intention appelée dans la mise en œuvre 2.3 ne correspond pas à l'exigence de launchMode:"standard" ou launchMode:"singleTop" indiqué dans la section android: Description launchMode .

Mais il serait également utile de jeter un oeil à cette question: comportement de launchMode = « singleTask » pas comme décrit . Il est effrayant, nous espérons que votre problème est pas là ses racines, et peut être résolu dans les versions actuelles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top