Чтение открытого вложения электронной почты на Kindle Fire (Android) - PullRequest
0 голосов
/ 05 марта 2012

Для чтения данных из прикрепленного файла я использую:

Uri dataUri = getIntent().getData();
ContentResolver cr = getContentResolver();
String readXmlString = "";
try {
    InputStream inputStream = cr.openInputStream(dataUri);
    readXmlString = FileUtils.readFromInputStream(inputStream);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

На большинстве устройств этот код работает нормально, но на Kindle Fire у меня проблема. Я отладил это. Проблема возникает, когда распознаватель содержимого пытается открыть входной поток. Итак, у меня есть что-то вроде этого в readXmlString: ۝ + v ( ק i ^ % z ܩ z ʗ

Код моего readFromInputStream:

public static String readFromInputStream(InputStream inputStream){
    StringBuilder total = new StringBuilder();
    try {
        BufferedReader r = new BufferedReader(
                new InputStreamReader(inputStream)); //also tried: new InputStreamReader(inputStream, "UTF-8")
        String line;
        while ((line = r.readLine()) != null) {
            total.append(line);
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return total.toString();
}
...