如何在android中以编程方式读取我的应用程序中附加到电子邮件的文件?

时间:2012-02-16 11:51:28

标签: android email-attachments

我知道如何在此处显示电子邮件中的附件名称:Android - get email attachment name in my application

但是无法读取附加的实际文件。如何以编程方式在应用程序中读取该附加文件?

我尝试了这个代码,其中字节数组始终为null。我做错了什么:

public static String getContent(ContentResolver resolver, Uri uri)
{
  Cursor cursor = resolver.query(uri, new String[] { MediaStore.MediaColumns.DATA }, null, null, null);
  cursor.moveToFirst();
  int nameIndex = cursor.getColumnIndex(MediaStore.MediaColumns.DATA);
  Log.d("column", nameIndex + "");
  if (nameIndex >= 0)  
  {
    byte b[] = cursor.getBlob(nameIndex);
    return b.length + "";
  } 
  else 
  {
    return null;
  }
}

1 个答案:

答案 0 :(得分:1)

试试这个:

Uri uri = getIntent().getData();
InputStream in = getContentResolver().openInputStream(uri);
InputStreamReader reader = new InputStreamReader(in);

此时,我将读者移到我在网上名为CSVReader的库中找到的类,但您可以直接使用InputStreamReader。