gpt4 book ai didi

android - 为什么launchMode :singleTask cause SecurityExceptions when opening Intents?

转载 作者:行者123 更新时间:2023-11-30 03:04:16 25 4
gpt4 key购买 nike

我最近将我的 Android 应用设置为接收 Intent,这样它就可以用来打开电子邮件应用中的附件。

如果在创建 Intent 时我的应用程序尚未运行,但当我的应用程序在后台暂停时,尝试从 URI 读取内容会导致抛出 SecurityExceptions,这会正常工作:

E/AndroidRuntime(28250): java.lang.RuntimeException: Unable to resume activity
{com.[...]/com.[...].Main}: java.lang.SecurityException: Permission Denial:
reading com.google.android.gm.provider.MailProvider uri content://gmail-ls/
notateme@gmail.com/messages/134/attachments/0.1/BEST/false from pid=28250,
uid=10205 requires com.google.android.gm.permission.READ_GMAIL, or
grantUriPermission()

E/AndroidRuntime(28250): Caused by: java.lang.SecurityException: Permission
Denial: reading com.google.android.gm.provider.MailProvider uri content://
gmail-ls/notateme@gmail.com/messages/134/attachments/0.1/BEST/false from
pid=28250, uid=10205 requires com.google.android.gm.permission.READ_GMAIL,
or grantUriPermission()

This web post建议问题是我的 Activity 设置了 android:launchMode="singleTask",解决问题的方法是创建一个中间 Activity 来处理 Intent。

该修复确实对我有用,但我想了解为什么我的原始 Activity 在创建处理 Intent 时似乎具有从 URI 读取的权限,但没有何时恢复处理 Intent。

谁能帮我解释一下?

最佳答案

您需要在manifest中添加READ_GMAIL权限。

<uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />

引用这个Manifest Permissions

关于android - 为什么launchMode :singleTask cause SecurityExceptions when opening Intents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22066993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com