如何发送图像而不存储在SD卡中?

问题描述:

我正在开发一个显示图像的应用程序。该应用程序提供了一个选项,将图像作为附件发送给您。我必须将图像保存到SD卡上才能以附件的形式通过电子邮件发送图像。如何发送图像而不存储在SD卡中?

是否可以将图像作为附件通过电子邮件发送,而无需先将其写入SD卡?

@sivaraj 例如,如果您保存您图像中的电话(甚至在私人文件夹)的任何地方 只是修改它,如果你不想将它存储在openFile方法中。 在您的清单中注册您的提供者并拥有正确的权限属性,就是这样!

public class ImageProvider extends ContentProvider { 
     private static final String URI_PREFIX = "content://com.android.myproject.anythingyouwant"; 

     public static String constructUri(String url) { 
      Uri uri = Uri.parse(url); 
      return uri.isAbsolute() ? url : URI_PREFIX + url; 
     } 

     @Override 
     public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { 
      File file = new File(uri.getPath()); 
      ParcelFileDescriptor parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY); 
      return parcel; 
     } 

     @Override 
     public boolean onCreate() { 
      return true; 
     } 

     @Override 
     public int delete(Uri uri, String s, String[] as) { 
      throw new UnsupportedOperationException("Not supported by this provider"); 
     } 

     @Override 
     public String getType(Uri uri) { 
      throw new UnsupportedOperationException("Not supported by this provider"); 
     } 

     @Override 
     public Uri insert(Uri uri, ContentValues contentvalues) { 
      throw new UnsupportedOperationException("Not supported by this provider"); 
     } 

     @Override 
     public Cursor query(Uri uri, String[] as, String s, String[] as1, String s1) { 
      throw new UnsupportedOperationException("Not supported by this provider"); 
     } 

     @Override 
     public int update(Uri uri, ContentValues contentvalues, String s, String[] as) { 
      throw new UnsupportedOperationException("Not supported by this provider"); 
     } 
    } 
+0

嗨@fedj,喜@sivaraj,我不完全熟悉这种方法,但我试图做同样的事情你。您可以分享您最终实施的内容,以及如何使用此ContentProvider将图像附加到电子邮件中?先谢谢你! – Zarah 2010-10-29 09:37:28

AFAIK,写给SDCard拳头是唯一的方法......并且这是必须的,因为邮件客户端必须能够读取文件;所以,它必须存储在公共场所。

你必须创建一个ContentProvider的为您的图像

+0

@can你给复杂的答案,或者给示例代码为我 – sivaraj 2010-09-22 08:19:40