문제

I have declared the launch mode of my activity to be singleTask. If I launch my application, press the home button, go to an email client (gmail in this case) & preview an attachment using my application, I am experiencing a security exception on Android versions 2.3 & later, which says that I do not have the permissions to access gmail attachments. The exception does not occur on prior versions & if I do not use singleTask as the launchMode.

The exception occurs on this line-

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

where mContext is the activity context.

Is this a known issue?

Any help will be really appreciated.

Thanks,

Akshay

도움이 되었습니까?

해결책

I had posted this on Android-developers and got this response from Dianne Hackborn-

"Sorry, this is probably a bug in 2.3 with trying to grant a URI permission to an activity instance that is already running. I'll look in to this. In the mean-time, the only solution may be to not use singleTask for the activity being launched to a preview an attachment. This is actually the preferred thing to do, since your preview activity should be running as its own instance as part of the gmail task."

다른 팁

The problem might happen because the called intent's activity in the 2.3 implementation does not fit the launchMode:"standard" or launchMode:"singleTop" requirement stated in the android:launchMode description.

But it would be also useful to take a look at this issue: Behaviour of launchMode=“singleTask” not as described. It is scary, hopefully your problem isn't rooted there, and can be solved within the current versions.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top