Android - 使用我的应用从电子邮件客户端应用中读取附件

时间:2017-01-11 11:40:09

标签: android email-attachments

我想用我的应用程序从Android电子邮件应用程序打开附件(例如InputStream)。 我可以将我的应用与电子邮件中的特定文件相关联,但是当我得到uri时,

content://com.samsung.android.email.attachmentprovider/1/176/RAW

我无法打开流并抛出SecurityException:
Permission Denial: opening provider com.samsung.android.email.provider.provider.attachment.AttachmentProvider from ProcessRecord{83b03a2 11090:com.test.att/u0a416} (pid=11090, uid=10416) requires com.samsung.android.email.permission.ACCESS_PROVIDER or com.samsung.android.email.permission.ACCESS_PROVIDER
我尝试在清单文件中添加此权限并在代码中使用ContentProvider之前授予读取权限,但抛出了另一个异常:

Uid xxx does not have permission to uri 0 @ content://......

例如:
Uri uri = mInitApp.geIntent().getData(); mCtx.grantUriPermission(mCtx.getPackageName(), uri,Intent.FLAG_GRANT_READ_URI_PERMISSION); InputStream in = mCtx.getContentResolver().openInputStream(uri);

奇怪的是,如果我多次尝试使用我的应用程序打开附件,授予权限,有时我能够阅读附件(uri保持不变)。
对于实际使用情况,我不想手动下载附件并从下载文件夹中选择它 我错过了什么吗? 感谢

0 个答案:

没有答案