Domanda

Ho dichiarato che la modalità di avvio della mia attività è singleTask.Se io avvia la mia applicazione, premi il tasto home, vai su un client di posta (Gmail in questo caso) e visualizzare in anteprima un allegato utilizzando la mia applicazione, I. sto riscontrando un'eccezione di sicurezza sulle versioni Android 2.3 e successive, che dice che non ho i permessi per accedere a Gmail allegati.L'eccezione non si verifica nelle versioni precedenti e se lo faccio non utilizzare singleTask come launchMode.

L'eccezione si verifica su questa riga-

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

dove mContext è il contesto dell'attività.

È un problema noto?

Qualsiasi aiuto sarà davvero apprezzato.

Grazie,

Akshay

È stato utile?

Soluzione

L'avevo pubblicato su sviluppatori Android e ho ricevuto questa risposta da Dianne Hackborn-

"Spiacenti, probabilmente si tratta di un bug nella versione 2.3 relativo al tentativo di concedere un'autorizzazione URI a un'istanza di attività già in esecuzione. Cercherò di risolvere il problema. Nel frattempo, l'unica soluzione potrebbe essere quella di nonutilizza singleTask per l'attività avviata per visualizzare in anteprima un allegato. Questa è in realtà la cosa preferita da fare, poiché l'attività di anteprima dovrebbe essere eseguita come una propria istanza come parte dell'attività di Gmail. "

Altri suggerimenti

Il problema potrebbe verificarsi perché l'attività dell'intento chiamato nell'implementazione 2.3 non soddisfa il requisito launchMode:"standard" o launchMode:"singleTop" indicato in android: descrizione launchMode .

Ma sarebbe anche utile dare un'occhiata a questo problema:Comportamento di launchMode="singleTask" non come descritto .È spaventoso, si spera che il tuo problema non sia radicato lì e possa essere risolto nelle versioni attuali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top