Android: исключение безопасности с launchMode = "singleTask" - PullRequest
1 голос
/ 30 апреля 2011

Я объявил режим запуска своей активности однозадачным. Если я запустите мое приложение, нажмите кнопку домой, перейдите в почтовый клиент (Gmail в этом случае) и предварительный просмотр вложения с помощью моего приложения, я Я испытываю исключение безопасности в версиях Android 2.3 и выше, который говорит, что у меня нет разрешений на доступ к Gmail вложений. Исключение не возникает в предыдущих версиях и если я делаю не использовать SingleTask в качестве режима запуска.

Исключение происходит в этой строке -

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

где mContext - это контекст активности.

Это известная проблема?

Любая помощь будет по достоинству оценена.

Спасибо

Акшай

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Я разместил это на Android-разработчиках и получил этот ответ от Dianne Hackborn-

"Извините, это, вероятно, ошибка в 2.3 при попытке предоставить разрешение URI для экземпляра активности, который уже запущен. Я посмотрю на это. В то же время, единственное решение может быть не используйте singleTask для запуска действия для предварительного просмотра вложения. На самом деле это предпочтительный вариант, так как ваше действие предварительного просмотра должно выполняться как собственный экземпляр как часть задачи gmail. "

0 голосов
/ 30 апреля 2011

Проблема может возникнуть из-за того, что активность вызываемого намерения в реализации 2.3 не соответствует требованию launchMode:"standard" или launchMode:"singleTop", указанному в описании android: launchMode .

Но было бы также полезно взглянуть на эту проблему: Поведение launchMode = «singleTask» не так, как описано .Это страшно, надеюсь, что ваша проблема там не коренится и может быть решена в текущих версиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...