1

我已将我的活动的启动模式声明为 singleTask。如果我启动我的应用程序,按主页按钮,转到电子邮件客户端(在这种情况下为 gmail)并使用我的应用程序预览附件,我在 Android 2.3 及更高版本上遇到安全异常,这表明我没有访问 gmail 附件的权限。如果我不使用 singleTask 作为启动模式,则以前的版本不会发生异常。

异常发生在这一行 -

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

其中 mContext 是活动上下文。

这是一个已知的问题?

任何帮助将不胜感激。

谢谢,

阿克谢

4

2 回答 2

1

我已经在 Android-developers 上发布了这个,并得到了 Dianne Hackborn 的回复——

“对不起,这可能是 2.3 中的一个错误,它试图向已经运行的活动实例授予 URI 权限。我会调查一下。与此同时,唯一的解决方案可能是不使用 singleTask正在启动以预览附件的活动。这实际上是首选,因为您的预览活动应该作为其自己的实例作为 gmail 任务的一部分运行。

于 2011-05-24T08:32:37.953 回答
0

问题可能会发生,因为 2.3 实现中被调用的意图的活动不符合android:launchMode 描述launchMode:"standard"中所述的或launchMode:"singleTop"要求。

但是看看这个问题也很有用: Behavior of launchMode=“singleTask” not as described。这很可怕,希望您的问题不是根源,并且可以在当前版本中解决。

于 2011-04-30T10:08:49.913 回答