Android 两个URI之间的差异

Android 两个URI之间的差异,android,uri,Android,Uri,我正在尝试保存附件(彩信和GMail) openInputStream适用于彩信,但对于GMail,我遇到了错误: “打开sd卡上具有附件直接路径的附件” 我不明白什么是“附件的直接路径”?使用这样的手写字符串很可能会导致您编写的应用程序中断。特别是,SDK中没有与gmail交互的定义。Gmail不是SDK的一部分。你不能指望它能起作用;这是gmail的一个实现细节,可以在任何时候任意更改。(Gmail甚至不是这个平台的一部分;它基本上只是一些随机的应用程序,碰巧是由谷歌编写的,你正试图插入其中

我正在尝试保存附件(彩信和GMail)

openInputStream适用于彩信,但对于GMail,我遇到了错误: “打开sd卡上具有附件直接路径的附件”


我不明白什么是“附件的直接路径”?

使用这样的手写字符串很可能会导致您编写的应用程序中断。特别是,SDK中没有与gmail交互的定义。Gmail不是SDK的一部分。你不能指望它能起作用;这是gmail的一个实现细节,可以在任何时候任意更改。(Gmail甚至不是这个平台的一部分;它基本上只是一些随机的应用程序,碰巧是由谷歌编写的,你正试图插入其中。)

Uri uri; 
uri = Uri.parse("content://mms/part/" + mmsPartId);  
uri = Uri.parse("content://gmail-ls/messages/email@gmail.com/messageId/attachments/0.1/BEST/true");

InputStream inputStream = getContentResolver().openInputStream(uri);