Как прочитать файл приложенный к электронной почте в моем приложении программно в Android? - PullRequest
2 голосов
/ 16 февраля 2012

Я знаю способ получить Имя вложения в электронном письме, показанный здесь: Android - получить имя вложения в электронное письмо в моем приложении .

Но не смог прочитать фактический файл, который был прикреплен.Как программно прочитать этот вложенный файл в приложении?

Я пробовал этот код, в котором массив байтов всегда равен нулю.Что я делаю не так:

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 Ответ

1 голос
/ 30 августа 2012

Попробуйте это:

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

На этом этапе я передаю читателю класс, который я нашел в онлайн-библиотеке под названием CSVReader, но вы можете просто использовать InputStreamReader напрямую.

...