我已经声明了我的activity的启动模式为singleTask。如果我启动我的应用程序,按下home键,进入电子邮件客户端(这里是gmail) &预览附件使用我的应用程序,我我在Android 2.3版本上遇到了一个安全异常。之后,上面说我没有访问gmail的权限附件。在以前的版本中不会出现异常&如果我做了不要使用singleTask作为启动模式。
异常出现在本行-
mContext.getContentResolver().openInputStream(intent.getData());
其中mContext是活动上下文。
这是已知的问题吗?
任何帮助都将是非常感激的。
谢谢,
阿卡什
我把这个贴在android开发者上,得到了Dianne Hackborn的回复-
"对不起,这可能是2.3中的一个错误,试图将URI权限授予已经运行的活动实例。我来处理这件事。与此同时,唯一的解决方案可能是不使用singleTask对正在启动的活动预览附件。这实际上是首选的事情,因为你的预览活动应该运行作为自己的实例作为gmail任务的一部分。"
这个问题可能会发生,因为2.3实现中调用的intent的活动不符合android:launchMode描述中所述的launchMode:"standard"
或launchMode:"singleTop"
要求。
但是看看这个问题也很有用:launchMode= " singleTask "的行为不像描述的那样。这是可怕的,希望你的问题不是根源在那里,并可以在当前版本中解决。